def test_new_server_1(self): "Test normal server registration, with username/password" u, password = self._create_new_user() username = u.contact['login'] org_id = u.contact['org_id'] entitlements = self._entitlements os_release = "2.1as" t = misc_functions.create_activation_key( org_id=u.contact['org_id'], entitlement_level=entitlements, user_id=u.getid(), release=os_release) params = build_new_system_params_with_username(username=username, password=password, os_release=os_release) system_id = register_new_system(params) rhnSQL.commit() s = rhnServer.get(system_id) self.assertNotEqual(s, None) server_id = s.getid() channels = rhnChannel.channels_for_server(server_id) self.assertEqual(len(channels), 1) self.assertEqual(channels[0]['label'], self._channel)
def test_new_server_1(self): "Test normal server registration, with username/password" u, password = self._create_new_user() username = u.contact['login'] org_id = u.contact['org_id'] entitlements = self._entitlements os_release = "2.1as" t = misc_functions.create_activation_key( org_id=u.contact['org_id'], entitlement_level=entitlements, user_id=u.getid(), release=os_release ) params = build_new_system_params_with_username(username=username, password=password, os_release=os_release) system_id = register_new_system(params) rhnSQL.commit() s = rhnServer.get(system_id) self.assertNotEqual(s, None) server_id = s.getid() channels = rhnChannel.channels_for_server(server_id) self.assertEqual(len(channels), 1) self.assertEqual(channels[0]['label'], self._channel)
def test_new_server_token_2(self): "Test registration with token that specifies a base channel" # FIXME: the test fails because there's no channel associated with the # freshly created Server: rhnServerChannel is not populated by the # registration code. u, _ = self._create_new_user() org_id = u.contact['org_id'] base_channel = 'rhel-i386-as-3' entitlements = self._entitlements os_release = "2.1as" t = misc_functions.create_activation_key( org_id=u.contact['org_id'], entitlement_level=entitlements, user_id=u.getid(), channels=[base_channel], release=os_release) token = t.get_token() params = build_new_system_params_with_token(token=token, os_release=os_release) system_id = register_new_system(params) rhnSQL.commit() s = rhnServer.get(system_id) self.assertNotEqual(s, None) server_id = s.getid() channels = rhnChannel.channels_for_server(server_id) self.assertEqual(len(channels), 1) self.assertEqual(channels[0]['label'], base_channel)
def test_new_server_token_1(self): "test registration with token" u, _ = self._create_new_user() org_id = u.contact['org_id'] entitlements = self._entitlements os_release = "2.1as" t = misc_functions.create_activation_key( org_id=u.contact['org_id'], entitlement_level=entitlements, user_id=u.getid(), release=os_release ) token = t.get_token() params = build_new_system_params_with_token( token=token, os_release=os_release ) system_id = register_new_system(params) rhnSQL.commit() s = rhnServer.get(system_id) self.assertNotEqual(s, None)
def test_new_server_token_2(self): "Test registration with token that specifies a base channel" # FIXME: the test fails because there's no channel associated with the # freshly created Server: rhnServerChannel is not populated by the # registration code. u, _ = self._create_new_user() org_id = u.contact['org_id'] base_channel = 'rhel-i386-as-3' entitlements = self._entitlements os_release = "2.1as" t = misc_functions.create_activation_key(org_id=u.contact['org_id'], entitlement_level=entitlements, user_id=u.getid(), channels=[base_channel], release=os_release) token = t.get_token() params = build_new_system_params_with_token( token=token, os_release=os_release ) system_id = register_new_system(params) rhnSQL.commit() s = rhnServer.get(system_id) self.assertNotEqual(s, None) server_id = s.getid() channels = rhnChannel.channels_for_server(server_id) self.assertEqual(len(channels), 1) self.assertEqual(channels[0]['label'], base_channel)
def test_new_server_token_2(self): "Test registration with token that specifies a base channel" u = self._create_new_user() org_id = u.contact['org_id'] base_channel = 'rhel-i386-as-3' entitlements = self._entitlements t = misc_functions.create_activation_key(org_id=u.contact['org_id'], entitlement_level=entitlements, user_id=u.getid(), channels=[base_channel]) token = t.get_token() params = build_new_system_params_with_token(token=token, os_release="2.1AS") system_id = register_new_system(params) rhnSQL.commit() s = rhnServer.get(system_id) self.assertNotEqual(s, None) server_id = s.getid() channels = rhnChannel.channels_for_server(server_id) self.assertEqual(len(channels), 1) self.assertEqual(channels[0]['label'], base_channel)
def test_new_server_multiple_tokens_1(self): """Test registration with multiple activation tokens Resulting server group is the union of all server groups from all tokens """ u, _ = self._create_new_user() org_id = u.contact['org_id'] entitlements = self._entitlements os_release = "2.1AS" t = misc_functions.create_activation_key( org_id=u.contact['org_id'], entitlement_level=entitlements, user_id=u.getid(), release=os_release) token1 = t.get_token() sg1 = t.get_server_groups() t = misc_functions.create_activation_key( org_id=u.contact['org_id'], entitlement_level=entitlements, user_id=u.getid(), release=os_release) token2 = t.get_token() sg2 = t.get_server_groups() token = token1 + ',' + token2 params = build_new_system_params_with_token(token=token, os_release=os_release) system_id = register_new_system(params) rhnSQL.commit() s = rhnServer.get(system_id) self.assertNotEqual(s, None) server_id = s.getid() sgs = misc_functions.fetch_server_groups(server_id) sgstgt = sg1 + sg2 sgstgt.sort() self.assertEqual(sgs, sgstgt)
def test_new_server_multiple_tokens_1(self): """Test registration with multiple activation tokens Resulting server group is the union of all server groups from all tokens """ u, _ = self._create_new_user() org_id = u.contact['org_id'] entitlements = self._entitlements os_release = "2.1AS" t = misc_functions.create_activation_key(org_id=u.contact['org_id'], entitlement_level=entitlements, user_id=u.getid(), release=os_release) token1 = t.get_token() sg1 = t.get_server_groups() t = misc_functions.create_activation_key(org_id=u.contact['org_id'], entitlement_level=entitlements, user_id=u.getid(), release=os_release) token2 = t.get_token() sg2 = t.get_server_groups() token = token1 + ',' + token2 params = build_new_system_params_with_token(token=token, os_release=os_release) system_id = register_new_system(params) rhnSQL.commit() s = rhnServer.get(system_id) self.assertNotEqual(s, None) server_id = s.getid() sgs = misc_functions.fetch_server_groups(server_id) sgstgt = sg1 + sg2 sgstgt.sort() self.assertEqual(sgs, sgstgt)
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)
def test_new_server_reactivation_token_1(self): "Test server re-registration" u, password = self._create_new_user() username = u.contact['login'] os_release = "2.1AS" params = build_new_system_params_with_username(username=username, password=password, os_release="2.1AS") system_id = register_new_system(params) rhnSQL.commit() s1 = rhnServer.get(system_id) self.assertNotEqual(s1, None) server_id_1 = s1.getid() groups1 = misc_functions.fetch_server_groups(server_id_1) # Build a re-registration token base_channel = 'rhel-i386-as-3' entitlements = self._entitlements t = misc_functions.create_activation_key( org_id=u.contact['org_id'], entitlement_level=entitlements, user_id=u.getid(), channels=[base_channel], server_id=server_id_1, release=os_release) token = t.get_token() params = build_new_system_params_with_token(token=token, os_release=os_release) system_id = register_new_system(params) rhnSQL.commit() s2 = rhnServer.get(system_id) server_id_2 = s2.getid() groups2 = misc_functions.fetch_server_groups(server_id_2) self.assertNotEqual(s2, None) self.assertEqual(server_id_1, server_id_2) # Should be subscribed to the same groups self.assertEqual(groups1, groups2)
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)
def test_new_server_reactivation_token_1(self): "Test server re-registration" u, password = self._create_new_user() username = u.contact['login'] os_release = "2.1AS" params = build_new_system_params_with_username(username=username, password=password, os_release="2.1AS") system_id = register_new_system(params) rhnSQL.commit() s1 = rhnServer.get(system_id) self.assertNotEqual(s1, None) server_id_1 = s1.getid() groups1 = misc_functions.fetch_server_groups(server_id_1) # Build a re-registration token base_channel = 'rhel-i386-as-3' entitlements = self._entitlements t = misc_functions.create_activation_key(org_id=u.contact['org_id'], entitlement_level=entitlements, user_id=u.getid(), channels=[base_channel], server_id=server_id_1, release=os_release) token = t.get_token() params = build_new_system_params_with_token( token=token, os_release=os_release ) system_id = register_new_system(params) rhnSQL.commit() s2 = rhnServer.get(system_id) server_id_2 = s2.getid() groups2 = misc_functions.fetch_server_groups(server_id_2) self.assertNotEqual(s2, None) self.assertEqual(server_id_1, server_id_2) # Should be subscribed to the same groups self.assertEqual(groups1, groups2)
def look_at_actions(server_id): h = rhnSQL.prepare(_query_action_lookup) h.execute(server_id=server_id) return h.fetchall_dict() if __name__ == "__main__": myserver = TestServer() #myserver.upload_packages('/home/devel/wregglej/rpmtest') #handler = rhnHandler() #print handler.auth_system( myserver.getSystemId() ) #up2date = myserver.getUp2date() #id = myserver.getSystemId() #print up2date.solvedep( id, ['libcaps.so'] ) #print "Done!" #rhnserver = rhnServer.Server(myserver.testuser, org_id=myserver.org_id) fake_key = create_activation_key(org_id=myserver.org_id, user_id=myserver.testuser.getid(), channels=[myserver.label], server_id=myserver.getServerId()) fake_action = rhnAction.schedule_server_action(myserver.getServerId(), "packages.update", action_name="Testing", delta_time=9999, org_id=myserver.org_id) fake_token = rhnServer.search_token(fake_key._token) print look_at_actions(myserver.getServerId()) rhnFlags.set("registration_token", fake_token) myserver.testserver.use_token() print look_at_actions(myserver.getServerId()) rhnAction.invalidate_action(myserver.getServerId(), fake_action) rhnSQL.rollback()
return h.fetchall_dict() if __name__ == "__main__": myserver = TestServer() #myserver.upload_packages('/home/devel/wregglej/rpmtest') #handler = rhnHandler() #print handler.auth_system( myserver.getSystemId() ) #up2date = myserver.getUp2date() #id = myserver.getSystemId() #print up2date.solvedep( id, ['libcaps.so'] ) #print "Done!" #rhnserver = rhnServer.Server(myserver.testuser, org_id=myserver.org_id) fake_key = create_activation_key(org_id=myserver.org_id, user_id=myserver.testuser.getid(), channels=[myserver.label], server_id=myserver.getServerId()) fake_action = rhnAction.schedule_server_action(myserver.getServerId(), "packages.update", action_name="Testing", delta_time=9999, org_id=myserver.org_id) fake_token = rhnServer.search_token(fake_key._token) print look_at_actions(myserver.getServerId()) rhnFlags.set("registration_token", fake_token) myserver.testserver.use_token() print look_at_actions(myserver.getServerId())