use of com.github.redhatqe.polarize.metadata.TestDefinition in project rhsm-qe by RedHatQE.
the class BugzillaTests method testConsumerUnsubscribedWhenSubscriptionRevoked.
/**
* @author skallesh
* @throws Exception
* @throws JSONException
*/
@SuppressWarnings("deprecation")
@// update=true, // uncomment to make TestDefinition changes update Polarion testcases through the polarize testcase importer
TestDefinition(projectID = { Project.RHEL6, Project.RedHatEnterpriseLinux7 }, testCaseID = { "RHEL6-21905", "RHEL7-51766" }, level = DefTypes.Level.COMPONENT, component = "subscription-manager", testtype = @TestType(testtype = DefTypes.TestTypes.FUNCTIONAL, subtype1 = DefTypes.Subtypes.RELIABILITY, subtype2 = DefTypes.Subtypes.EMPTY), posneg = PosNeg.POSITIVE, importance = DefTypes.Importance.HIGH, automation = DefTypes.Automation.AUTOMATED, tags = "Tier3")
@Test(description = "Consumer unsubscribed when Subscription revoked", groups = { "Tier3Tests", "ConsumerUnsubscribedWhenSubscriptionRevoked", "blockedByBug-947429", "blockedByBug-1555582" }, enabled = true)
@ImplementsNitrateTest(caseId = 56025)
public void testConsumerUnsubscribedWhenSubscriptionRevoked() throws Exception {
clienttasks.register(sm_clientUsername, sm_clientPassword, sm_clientOrg, null, null, null, null, null, null, null, (String) null, null, null, null, true, null, null, null, null, null);
clienttasks.autoheal(null, null, true, null, null, null, null);
String consumerId = clienttasks.getCurrentConsumerId();
ownerKey = CandlepinTasks.getOwnerKeyOfConsumerId(sm_serverAdminUsername, sm_serverAdminPassword, sm_serverUrl, consumerId);
String name, productId;
List<String> providedProductIds = new ArrayList<String>();
name = "Test product to check subscription-removal";
productId = "test-product";
Map<String, String> attributes = new HashMap<String, String>();
attributes.clear();
attributes.put("version", "1.0");
attributes.put("variant", "server");
attributes.put("arch", "ALL");
attributes.put("warning_period", "30");
attributes.put("type", "MKT");
attributes.put("type", "SVC");
File entitlementCertFile = null;
CandlepinTasks.deleteSubscriptionsAndRefreshPoolsUsingRESTfulAPI(sm_serverAdminUsername, sm_serverAdminPassword, sm_serverUrl, sm_clientOrg, productId);
String resourcePath = "/products/" + productId;
if (SubscriptionManagerTasks.isVersion(servertasks.statusVersion, ">=", "2.0.0"))
resourcePath = "/owners/" + sm_clientOrg + resourcePath;
CandlepinTasks.deleteResourceUsingRESTfulAPI(sm_serverAdminUsername, sm_serverAdminPassword, sm_serverUrl, resourcePath);
clienttasks.unsubscribeFromAllOfTheCurrentlyConsumedProductSubscriptions();
CandlepinTasks.createProductUsingRESTfulAPI(sm_serverAdminUsername, sm_serverAdminPassword, sm_serverUrl, sm_clientOrg, name + " BITS", productId, 1, attributes, null);
CandlepinTasks.createSubscriptionAndRefreshPoolsUsingRESTfulAPI(sm_serverAdminUsername, sm_serverAdminPassword, sm_serverUrl, sm_clientOrg, 20, -1 * 24 * 60, /* 1 day ago */
15 * 24 * 60, /* 15 days from now */
getRandInt(), getRandInt(), productId, providedProductIds, null);
server.runCommandAndWait("rm -rf " + CandlepinTasks.candlepinCRLFile);
for (SubscriptionPool pool : clienttasks.getCurrentlyAllAvailableSubscriptionPools()) {
if (pool.productId.equals(productId)) {
entitlementCertFile = clienttasks.subscribeToSubscriptionPool(pool, sm_serverAdminUsername, sm_serverAdminPassword, sm_serverUrl);
}
}
Assert.assertNotNull(entitlementCertFile, "Successfully created and subscribed to product subscription '" + productId + "' created by and needed for this test.");
EntitlementCert entitlementCert = clienttasks.getEntitlementCertFromEntitlementCertFile(entitlementCertFile);
List<ProductSubscription> consumedSusbscription = clienttasks.getCurrentlyConsumedProductSubscriptions();
Assert.assertFalse(consumedSusbscription.isEmpty());
CandlepinTasks.deleteSubscriptionsAndRefreshPoolsUsingRESTfulAPI(sm_serverAdminUsername, sm_serverAdminPassword, sm_serverUrl, sm_clientOrg, productId);
resourcePath = "/products/" + productId;
if (SubscriptionManagerTasks.isVersion(servertasks.statusVersion, ">=", "2.0.0"))
resourcePath = "/owners/" + sm_clientOrg + resourcePath;
CandlepinTasks.deleteResourceUsingRESTfulAPI(sm_serverAdminUsername, sm_serverAdminPassword, sm_serverUrl, resourcePath);
sleep(2 * /* min */
60 * 1000);
// verify the entitlement serial has been added to the CRL on the server
List<RevokedCert> revokedCerts = servertasks.getCurrentlyRevokedCerts();
RevokedCert revokedCert = RevokedCert.findFirstInstanceWithMatchingFieldFromList("serialNumber", entitlementCert.serialNumber, revokedCerts);
Assert.assertNotNull(revokedCert, "The Certificate Revocation List file on the candlepin server contains an entitlement serial '" + entitlementCert.serialNumber + "' to the product subscription '" + productId + "' that was just deleted on the candlepin server.");
// trigger the rhsmcertd on the system and verify the entitlement has
// been removed
clienttasks.run_rhsmcertd_worker(false);
Assert.assertTrue(clienttasks.getCurrentlyConsumedProductSubscriptions().isEmpty(), "The revoked entitlement has been removed from the system by rhsmcertd.");
}
use of com.github.redhatqe.polarize.metadata.TestDefinition in project rhsm-qe by RedHatQE.
the class BugzillaTests method testEmptyReposListForFutureSubscription.
/**
* @author skallesh
* @throws Exception
* @throws JSONException
*/
@// update=true, // uncomment to make TestDefinition changes update Polarion testcases through the polarize testcase importer
TestDefinition(projectID = { Project.RHEL6, Project.RedHatEnterpriseLinux7 }, testCaseID = { "RHEL6-21909", "RHEL7-51770" }, level = DefTypes.Level.COMPONENT, component = "subscription-manager", testtype = @TestType(testtype = DefTypes.TestTypes.FUNCTIONAL, subtype1 = DefTypes.Subtypes.RELIABILITY, subtype2 = DefTypes.Subtypes.EMPTY), posneg = PosNeg.POSITIVE, importance = DefTypes.Importance.HIGH, automation = DefTypes.Automation.AUTOMATED, tags = "Tier3")
@Test(description = "verify if Repos List is empty for FutureSubscription", groups = { "Tier3Tests", "EmptyReposListForFutureSubscription", "blockedByBug-958775", "blockedByBug-1440180", "blockedByBug-1555582" }, enabled = true)
public void testEmptyReposListForFutureSubscription() throws JSONException, Exception {
clienttasks.register(sm_clientUsername, sm_clientPassword, sm_clientOrg, null, null, null, null, null, null, null, (String) null, null, null, null, true, false, null, null, null, null);
String consumerId = clienttasks.getCurrentConsumerId();
ownerKey = CandlepinTasks.getOwnerKeyOfConsumerId(sm_serverAdminUsername, sm_serverAdminPassword, sm_serverUrl, consumerId);
clienttasks.autoheal(null, null, true, null, null, null, null);
String futurePool = createTestPool(60 * 24 * 365, 60 * 24 * (365 * 2), true);
DateFormat yyyy_MM_dd_DateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar nextYear = new GregorianCalendar();
nextYear.add(Calendar.YEAR, 1);
// one day after a year
nextYear.add(Calendar.DATE, 1);
String onDateToTest = yyyy_MM_dd_DateFormat.format(nextYear.getTime());
clienttasks.subscribe(null, null, futurePool, null, null, null, null, null, null, null, null, null, null);
// determine if both active and inactive entitlements are being consumed
boolean activeProductSubscriptionsConsumed = false;
boolean inactiveProductSubscriptionsConsumed = false;
List<ProductSubscription> currentlyConsumedProductSubscriptions = clienttasks.getCurrentlyConsumedProductSubscriptions();
for (ProductSubscription subscriptions : currentlyConsumedProductSubscriptions) {
if (subscriptions.isActive)
activeProductSubscriptionsConsumed = true;
if (!subscriptions.isActive)
inactiveProductSubscriptionsConsumed = true;
}
if (activeProductSubscriptionsConsumed && inactiveProductSubscriptionsConsumed) {
throw new SkipException("This test assumes that both current and future subscriptions are available on '" + onDateToTest + "' which is determined by the subscriptions loaded on the candlepin server.");
}
Assert.assertTrue(!clienttasks.getCurrentlyConsumedProductSubscriptions().isEmpty(), "We should still be consuming future entitlements (indicated by Active:False).");
Assert.assertTrue(clienttasks.getCurrentlySubscribedRepos().isEmpty(), "There should not be any entitled repos despite the future attached entitlements (indicated by Active:False).");
}
use of com.github.redhatqe.polarize.metadata.TestDefinition in project rhsm-qe by RedHatQE.
the class BugzillaTests method testFactsWithIncorrectProxy_Test.
/**
* @author skallesh
* @throws Exception
* @throws JSONException
*/
@// update=true, // uncomment to make TestDefinition changes update Polarion testcases through the polarize testcase importer
TestDefinition(projectID = { Project.RHEL6, Project.RedHatEnterpriseLinux7 }, testCaseID = { "RHEL6-21950", "RHEL7-51812" }, level = DefTypes.Level.COMPONENT, component = "subscription-manager", testtype = @TestType(testtype = DefTypes.TestTypes.FUNCTIONAL, subtype1 = DefTypes.Subtypes.RELIABILITY, subtype2 = DefTypes.Subtypes.EMPTY), posneg = PosNeg.NEGATIVE, importance = DefTypes.Importance.HIGH, automation = DefTypes.Automation.AUTOMATED, tags = "Tier3")
@Test(description = "Verify facts update with incorrect proxy url produces traceback.", groups = { "Tier3Tests", "VerifyFactsWithIncorrectProxy_Test", "blockedByBug-744504" }, enabled = true)
public void testFactsWithIncorrectProxy_Test() throws JSONException, Exception {
clienttasks.register(sm_clientUsername, sm_clientPassword, sm_clientOrg, null, null, null, null, null, null, null, (String) null, null, null, null, true, null, null, null, null, null);
String basicauthproxyUrl = String.format("%s:%s", "testmachine.com", sm_basicauthproxyPort);
basicauthproxyUrl = basicauthproxyUrl.replaceAll(":$", "");
SSHCommandResult factsResult = clienttasks.facts_(null, true, basicauthproxyUrl, null, null, null);
String factsResultExpected = clienttasks.msg_NetworkErrorUnableToConnect;
factsResultExpected = "Error updating system data on the server, see /var/log/rhsm/rhsm.log for more details.";
factsResultExpected = clienttasks.msg_ProxyConnectionFailed;
Assert.assertEquals(factsResult.getStdout().trim() + factsResult.getStderr().trim(), factsResultExpected);
}
use of com.github.redhatqe.polarize.metadata.TestDefinition in project rhsm-qe by RedHatQE.
the class BugzillaTests method testImportedCertGetsDeletedByRepoCommand.
/**
* @author skallesh
* @throws Exception
* @throws JSONException
*/
@// update=true, // uncomment to make TestDefinition changes update Polarion testcases through the polarize testcase importer
TestDefinition(projectID = { Project.RHEL6, Project.RedHatEnterpriseLinux7 }, testCaseID = { "RHEL6-21957", "RHEL7-51819" }, level = DefTypes.Level.COMPONENT, component = "subscription-manager", testtype = @TestType(testtype = DefTypes.TestTypes.FUNCTIONAL, subtype1 = DefTypes.Subtypes.RELIABILITY, subtype2 = DefTypes.Subtypes.EMPTY), posneg = PosNeg.POSITIVE, importance = DefTypes.Importance.HIGH, automation = DefTypes.Automation.AUTOMATED, tags = "Tier3")
@Test(description = "verify subscription-manager repos --list does not delete an imported entitlement certificate on a system", groups = { "Tier3Tests", "VerifyImportedCertgetsDeletedByRepoCommand", "blockedByBug-1160150" }, enabled = true)
public void testImportedCertGetsDeletedByRepoCommand() throws Exception {
clienttasks.register(sm_clientUsername, sm_clientPassword, sm_clientOrg, null, null, null, null, false, null, null, (String) null, null, null, null, true, null, null, null, null, null);
// disable
clienttasks.autoheal(null, null, true, null, null, null, null);
SubscriptionPool pool = getRandomSubsetOfList(clienttasks.getCurrentlyAvailableSubscriptionPools(), 1).get(0);
File importEntitlementCertFile = clienttasks.subscribeToSubscriptionPool(pool, sm_clientUsername, sm_clientPassword, sm_serverUrl);
File importEntitlementKeyFile = clienttasks.getEntitlementCertKeyFileCorrespondingToEntitlementCertFile(importEntitlementCertFile);
File importCertificateFile = new File(importCertificatesDir1 + File.separator + importEntitlementCertFile.getName());
List<Repo> subscribedReposBefore = clienttasks.getCurrentlySubscribedRepos();
client.runCommandAndWait("mkdir -p " + importCertificatesDir1);
client.runCommandAndWait("cat " + importEntitlementCertFile + " " + importEntitlementKeyFile + " > " + importCertificateFile);
String path = importCertificateFile.getPath();
clienttasks.clean();
clienttasks.importCertificate(path);
int Ceritificate_countBeforeRepoCommand = clienttasks.getCurrentEntitlementCertFiles().size();
SSHCommandResult Result = clienttasks.repos_(true, null, null, (String) null, null, null, null, null, null);
int Ceritificate_countAfterRepoCommand = clienttasks.getCurrentEntitlementCertFiles().size();
List<Repo> subscribedReposAfter = clienttasks.getCurrentlySubscribedRepos();
Assert.assertEquals(Ceritificate_countBeforeRepoCommand, Ceritificate_countAfterRepoCommand);
Assert.assertEquals(Result.getExitCode(), new Integer(0));
Assert.assertTrue(subscribedReposBefore.containsAll(subscribedReposAfter) && subscribedReposAfter.containsAll(subscribedReposBefore), "The list of subscribed repos is the same before and after importing the entitlement certificate.");
}
use of com.github.redhatqe.polarize.metadata.TestDefinition in project rhsm-qe by RedHatQE.
the class BugzillaTests method testRegisterAttemptsWithVariousConsumerNames.
/**
* @author skallesh
* @throws Exception
* @throws JSONException
*/
@// update=true, // uncomment to make TestDefinition changes update Polarion testcases through the polarize testcase importer
TestDefinition(projectID = { Project.RHEL6, Project.RedHatEnterpriseLinux7 }, testCaseID = { "RHEL6-21942", "RHEL7-51804" }, level = DefTypes.Level.COMPONENT, component = "subscription-manager", testtype = @TestType(testtype = DefTypes.TestTypes.FUNCTIONAL, subtype1 = DefTypes.Subtypes.RELIABILITY, subtype2 = DefTypes.Subtypes.EMPTY), posneg = PosNeg.POSITIVE, importance = DefTypes.Importance.HIGH, automation = DefTypes.Automation.AUTOMATED, tags = "Tier3")
@Test(description = "verify if CLI lets you set consumer name to empty string and defaults to sm_clientUsername", groups = { "Tier3Tests", "VerifyConsumerNameTest", "blockedByBug-669395", "blockedByBug-1451003" }, enabled = true)
public void testRegisterAttemptsWithVariousConsumerNames() throws JSONException, Exception {
String consumerName = "tester";
clienttasks.register(sm_clientUsername, sm_clientPassword, sm_clientOrg, null, null, null, null, null, null, null, (String) null, null, null, null, true, null, null, null, null, null);
SSHCommandResult result = clienttasks.identity(null, null, null, null, null, null, null, null);
Assert.assertContainsMatch(result.getStdout(), "name: " + clienttasks.hostname);
clienttasks.register(sm_clientUsername, sm_clientPassword, sm_clientOrg, null, null, consumerName, null, null, null, null, (String) null, null, null, null, true, null, null, null, null, null);
result = clienttasks.identity(null, null, null, null, null, null, null, null);
String expected = "name: " + consumerName;
Assert.assertContainsMatch(result.getStdout(), expected);
String consumerId = clienttasks.getCurrentConsumerId();
clienttasks.clean();
consumerName = "consumer";
clienttasks.register(sm_clientUsername, sm_clientPassword, sm_clientOrg, null, null, consumerName, consumerId, null, null, null, (String) null, null, null, null, null, null, null, null, null, null);
result = clienttasks.identity(null, null, null, null, null, null, null, null);
Assert.assertContainsMatch(result.getStdout(), expected);
clienttasks.clean();
result = clienttasks.register_(sm_clientUsername, sm_clientPassword, sm_clientOrg, null, null, "", consumerId, null, null, null, (String) null, null, null, null, true, null, null, null, null, null);
if (clienttasks.isPackageVersion("subscription-manager", ">=", "1.13.8-1")) {
// post
// commit
// df95529a5edd0be456b3528b74344be283c4d258
Assert.assertEquals(result.getStderr().trim(), "Error: system name can not be empty.", "stderr");
} else {
Assert.assertEquals(result.getStdout().trim(), "Error: system name can not be empty.", "stdout");
}
result = clienttasks.register_(sm_clientUsername, sm_clientPassword, sm_clientOrg, null, null, "", null, null, null, null, (String) null, null, null, null, true, null, null, null, null, null);
if (clienttasks.isPackageVersion("subscription-manager", ">=", "1.13.8-1")) {
// post
// commit
// df95529a5edd0be456b3528b74344be283c4d258
Assert.assertEquals(result.getStderr().trim(), "Error: system name can not be empty.", "stderr");
} else {
Assert.assertEquals(result.getStdout().trim(), "Error: system name can not be empty.", "stdout");
}
}
Aggregations