/**
* Copyright (c) 2009--2014 Red Hat, Inc.
*
* This software is licensed to you under the GNU General Public License,
* version 2 (GPLv2). There is NO WARRANTY for this software, express or
* implied, including the implied warranties of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
* along with this software; if not, see
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
*
* Red Hat trademarks are not licensed under GPLv2. No permission is
* granted to use or replicate Red Hat trademarks that are incorporated
* in this software or its documentation.
*/
package com.redhat.rhn.frontend.xmlrpc.system.provisioning.snapshot.test;
import com.redhat.rhn.domain.rhnpackage.Package;
import com.redhat.rhn.domain.rhnpackage.PackageNevra;
import com.redhat.rhn.domain.rhnpackage.test.PackageTest;
import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.domain.server.ServerConstants;
import com.redhat.rhn.domain.server.ServerGroup;
import com.redhat.rhn.domain.server.ServerSnapshot;
import com.redhat.rhn.domain.server.test.ServerFactoryTest;
import com.redhat.rhn.frontend.xmlrpc.system.provisioning.snapshot.SnapshotHandler;
import com.redhat.rhn.frontend.xmlrpc.test.BaseHandlerTestCase;
import com.redhat.rhn.testing.ServerGroupTestUtils;
import com.redhat.rhn.testing.TestUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* SnapshotHandlerTest
*/
public class SnapshotHandlerTest extends BaseHandlerTestCase {
private SnapshotHandler handler = new SnapshotHandler();
private ServerSnapshot generateSnapshot(Server server) {
ServerSnapshot snap = new ServerSnapshot();
snap.setServer(server);
snap.setOrg(server.getOrg());
snap.setReason("blah");
return snap;
}
public void testListSnapshots() throws Exception {
Server server = ServerFactoryTest.createTestServer(admin, true);
ServerSnapshot snap = generateSnapshot(server);
ServerGroup grp = ServerGroupTestUtils.createEntitled(server.getOrg(),
ServerConstants.getServerGroupTypeEnterpriseEntitled());
snap.addGroup(grp);
TestUtils.saveAndFlush(snap);
Map dateInfo = new HashMap();
List<ServerSnapshot> list = handler.listSnapshots(admin,
server.getId().intValue(), dateInfo);
assertContains(list, snap);
assertContains(snap.getGroups(), grp);
}
public void testListSnapshotPackages() throws Exception {
Server server = ServerFactoryTest.createTestServer(admin, true);
ServerSnapshot snap = generateSnapshot(server);
Package pack = PackageTest.createTestPackage(admin.getOrg());
PackageNevra packN = new PackageNevra();
packN.setArch(pack.getPackageArch());
packN.setEvr(pack.getPackageEvr());
packN.setName(pack.getPackageName());
snap.getPackages().add(packN);
TestUtils.saveAndFlush(packN);
TestUtils.saveAndFlush(snap);
Set<PackageNevra> list = handler.listSnapshotPackages(admin,
snap.getId().intValue());
assertContains(list, packN);
}
public void testDeleteSnapshot() throws Exception {
Server server = ServerFactoryTest.createTestServer(admin, true);
ServerSnapshot snap = generateSnapshot(server);
TestUtils.saveAndFlush(snap);
handler.deleteSnapshot(admin, snap.getId().intValue());
Map dateInfo = new HashMap();
List<ServerSnapshot> list = handler.listSnapshots(admin,
server.getId().intValue(), dateInfo);
assertTrue(list.size() == 0);
}
public void testDeleteSnapshots() throws Exception {
Server server = ServerFactoryTest.createTestServer(admin, true);
ServerSnapshot snap = generateSnapshot(server);
generateSnapshot(server);
generateSnapshot(server);
generateSnapshot(server);
generateSnapshot(server);
TestUtils.saveAndFlush(snap);
Map dateInfo = new HashMap();
handler.deleteSnapshots(admin, server.getId().intValue(), dateInfo);
List<ServerSnapshot> list = handler.listSnapshots(admin,
server.getId().intValue(), dateInfo);
assertTrue(list.size() == 0);
}
}