def test_new_activation_key_1(self):
        org_id = misc_functions.create_new_org()
        u = misc_functions.create_new_user(org_id=org_id)

        groups = []
        for i in range(3):
            params = misc_functions.build_server_group_params(org_id=org_id)
            sg = misc_functions.create_server_group(params)
            groups.append(sg.get_id())
        groups.sort()

        channels = [
            'rhn-tools-rhel-2.1-as-i386', 'rhn-tools-rhel-2.1-es-i386',
            'rhn-tools-rhel-2.1-ws-i386'
        ]
        channels.sort()

        token_user_id = u.getid()
        token_org_id = org_id
        token_entitlement_level = {
            'provisioning_entitled': None,
            'enterprise_entitled': None,
        }
        token_note = "Test activation key %d" % int(time.time())

        a = misc_functions.create_activation_key(
            org_id=token_org_id,
            user_id=token_user_id,
            entitlement_level=token_entitlement_level,
            note=token_note,
            groups=groups,
            channels=channels)

        token = a.get_token()

        a = rhnActivationKey.ActivationKey()
        a.load(token)

        self.assertEqual(a.get_user_id(), token_user_id)
        self.assertEqual(a.get_org_id(), token_org_id)
        self.assertEqual(a.get_entitlement_level(), token_entitlement_level)
        self.assertEqual(a.get_note(), token_note)
        g = a.get_server_groups()
        g.sort()
        self.assertEqual(g, groups)

        g = a.get_channels()
        g.sort()
        self.assertEqual(g, channels)
Пример #2
0
def create_activation_key(org_id=None,
                          user_id=None,
                          groups=None,
                          channels=None,
                          entitlement_level=None,
                          note=None,
                          server_id=None,
                          release=None):
    if org_id is None:
        need_user = 1
        org_id = create_new_org()
    else:
        need_user = 0

    if user_id is None:
        if need_user:
            u = create_new_user(org_id=org_id)
            user_id = u.getid()
    else:
        u = rhnUser.User("", "")
        u.reload(user_id)

    if groups is None:
        groups = []
        for i in range(3):
            params = build_server_group_params(org_id=org_id)
            sg = create_server_group(params)
            groups.append(sg.get_id())

    if channels is None:
        channels = ['rhel-i386-as-3-beta', 'rhel-i386-as-2.1-beta']

    channel_arch_id = find_or_create_channel_arch(name="channel - test",
                                                  label="test")

    # ensure channels are created
    for channel_label in channels:
        channel = add_channel(label=channel_label,
                              org_id=org_id,
                              channel_arch_id=channel_arch_id)
        populate_rhn_dist_channel_map(channel_id=channel['id'],
                                      channel_arch_id=channel_arch_id,
                                      org_id=org_id,
                                      release=release)

    if entitlement_level is None:
        entitlement_level = 'provisioning_entitled'

    if note is None:
        note = "Test activation key %d" % int(time.time())

    a = rhnActivationKey.ActivationKey()
    a.set_user_id(user_id)
    a.set_org_id(org_id)
    a.set_entitlement_level(entitlement_level)
    a.set_note(note)
    a.set_server_groups(groups)
    a.set_channels(channels)
    a.set_server_id(server_id)
    a.save()
    rhnSQL.commit()

    return a
Пример #3
0
 def test_exception_token_load_1(self):
     a = rhnActivationKey.ActivationKey()
     self.assertRaises(rhnActivationKey.InvalidTokenError, a.load, "a")
Пример #4
0
 def test_exception_token_entitlement_level_1(self):
     a = rhnActivationKey.ActivationKey()
     self.assertRaises(rhnActivationKey.InvalidEntitlementError,
                       a.set_entitlement_level, {'a': None})
Пример #5
0
 def test_exception_token_channels_1(self):
     a = rhnActivationKey.ActivationKey()
     self.assertRaises(rhnActivationKey.InvalidChannelError, a.set_channels,
                       ["a"])