Skip to content

Commit

Permalink
Add test create AK with syspurpose values (SatelliteQE#7578)
Browse files Browse the repository at this point in the history
* Add syspurpose values to cli factory

* Add test create AK with syspurpose values

* Add manifest in cls setup
  • Loading branch information
swadeley authored and omkarkhatavkar committed Jan 14, 2020
1 parent 5631280 commit 9b24366
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 1 deletion.
4 changes: 4 additions & 0 deletions robottelo/cli/factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,10 @@ def make_activation_key(options=None):
u'organization-id': None,
u'organization-label': None,
u'unlimited-hosts': None,
u'service-level': None,
u'purpose-role': None,
u'purpose-usage': None,
u'purpose-addons': None,
}

return create_object(ActivationKey, args, options)
Expand Down
58 changes: 57 additions & 1 deletion tests/foreman/cli/test_activationkey.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
from robottelo.ssh import upload_file
from robottelo.test import CLITestCase
from robottelo.vm import VirtualMachine
from robottelo.helpers import is_open


class ActivationKeyTestCase(CLITestCase):
Expand All @@ -68,7 +69,18 @@ class ActivationKeyTestCase(CLITestCase):
def setUpClass(cls):
"""Tests for activation keys via Hammer CLI"""
super(ActivationKeyTestCase, cls).setUpClass()
cls.org = make_org()
# syspurpose test will use cls org and manifest
cls.org = make_org(cached=True)
with manifests.clone() as manifest:
upload_file(manifest.content, manifest.filename)
try:
Subscription.upload({
u'file': manifest.filename,
u'organization-id': cls.org['id'],
})
except CLIReturnCodeError as err:
raise CLIFactoryError(
u'Failed to upload manifest\n{0}'.format(err.msg))

@staticmethod
def get_default_env():
Expand Down Expand Up @@ -1149,6 +1161,50 @@ def test_positive_remove_host_collection_by_name(self):
})
self.assertEqual(len(activation_key['host-collections']), 0)

@tier2
def test_create_ak_with_syspurpose_set(self):
"""Test that an activation key can be created with system purpose values set.
:id: ac8931e5-7089-494a-adac-cee2a8ab57ee
:Steps:
1. Create Activation key with system purpose values set
2. Read Activation key values and assert system purpose values are set
3. Clear AK system purpose values
4. Read the AK system purpose values and assert system purpose values are unset
:CaseImportance: Medium
:BZ: 1789028
"""
# Requires Cls org and manifest. Manifest is for self-support values.
new_ak = self._make_activation_key({
u'purpose-addons': "test-addon1, test-addon2",
u'purpose-role': "test-role",
u'purpose-usage': "test-usage",
u'service-level': "Self-Support",
u'organization-id': self.org['id'],
})
self.assertEqual(new_ak['system-purpose']['purpose-addons'], "test-addon1, test-addon2")
self.assertEqual(new_ak['system-purpose']['purpose-role'], "test-role")
self.assertEqual(new_ak['system-purpose']['purpose-usage'], "test-usage")
if not is_open('BZ:1789028'):
self.assertEqual(new_ak['system-purpose']['service-level'], "Self-Support")
# Check that system purpose values can be deleted.
ActivationKey.update({
u'id': new_ak['id'],
u'purpose-addons': '',
u'purpose-role': '',
u'purpose-usage': '',
u'service-level': '',
u'organization-id': self.org['id'],
})
updated_ak = ActivationKey.info({'id': new_ak['id'], 'organization-id': self.org['id']})
self.assertEqual(updated_ak['system-purpose']['purpose-addons'], '')
self.assertEqual(updated_ak['system-purpose']['purpose-role'], '')
self.assertEqual(updated_ak['system-purpose']['purpose-usage'], '')
self.assertEqual(updated_ak['system-purpose']['service-level'], '')

@run_in_one_thread
@skip_if_not_set('fake_manifest')
@tier2
Expand Down

0 comments on commit 9b24366

Please sign in to comment.