예제 #1
0
 def test_get_real_users(self):
     get_legacy_user()  # Ensure at least the legacy user exists.
     users = [
         factory.make_user(),
         factory.make_user(),
         ]
     self.assertSetEqual(set(users), set(get_real_users()))
예제 #2
0
 def test_migrate_ancillary_data_to_legacy_user_when_multiple_users(self):
     factory.make_FileStorage(owner=None)
     # Create two users, both with API credentials, an SSH key and a node.
     user1 = factory.make_User()
     consumer1, token1 = user1.userprofile.create_authorisation_token()
     key1 = factory.make_SSHKey(user1, get_ssh_key_string(1))
     node1 = factory.make_Node(owner=user1)
     user2 = factory.make_User()
     consumer2, token2 = user2.userprofile.create_authorisation_token()
     key2 = factory.make_SSHKey(user2, get_ssh_key_string(2))
     node2 = factory.make_Node(owner=user2)
     migrate()
     # The SSH keys have been copied to the legacy user.
     legacy_user = get_legacy_user()
     legacy_users_ssh_keys = get_ssh_keys(legacy_user)
     self.assertSetEqual({key1.key, key2.key}, set(legacy_users_ssh_keys))
     # The API credentials have been moved to the legacy user.
     legacy_users_nodes = Node.objects.filter(owner=legacy_user)
     self.assertSetEqual({node1, node2}, set(legacy_users_nodes))
     self.assertEqual(
         (legacy_user, legacy_user, legacy_user, legacy_user),
         (
             reload_object(consumer1).user,
             reload_object(token1).user,
             reload_object(consumer2).user,
             reload_object(token2).user,
         ),
     )
예제 #3
0
 def test_get_legacy_user_creates_user(self):
     self.assertEqual([], list(self.find_legacy_user()))
     legacy_user = get_legacy_user()
     self.assertEqual([legacy_user], list(self.find_legacy_user()))
     self.assertThat(
         legacy_user, MatchesStructure.byEquality(
             first_name="Shared", last_name="Environment",
             email=legacy_user_name + "@localhost", is_active=True))
예제 #4
0
 def test_get_destination_user_with_orphaned_juju_state(self):
     user = factory.make_User()
     # Also create another user.
     factory.make_User()
     node = factory.make_Node(owner=user)
     make_provider_state_file(node)
     node.delete()  # Orphan the state.
     self.assertEqual(get_legacy_user(), get_destination_user())
예제 #5
0
 def test_get_real_users_no_users(self):
     get_legacy_user()  # Ensure at least the legacy user exists.
     self.assertEqual([], list(get_real_users()))
예제 #6
0
 def test_get_legacy_user_creates_user_only_once(self):
     legacy_user1 = get_legacy_user()
     self.assertEqual([legacy_user1], list(self.find_legacy_user()))
     legacy_user2 = get_legacy_user()
     self.assertEqual([legacy_user2], list(self.find_legacy_user()))
     self.assertEqual(legacy_user1, legacy_user2)
예제 #7
0
 def test_get_destination_user_with_orphaned_juju_state(self):
     user1, user2 = factory.make_user(), factory.make_user()
     node = factory.make_node(owner=user1)
     make_provider_state_file(node)
     node.delete()  # Orphan the state.
     self.assertEqual(get_legacy_user(), get_destination_user())
예제 #8
0
 def test_get_destination_user_no_real_users(self):
     self.assertEqual(get_legacy_user(), get_destination_user())
예제 #9
0
 def test_get_destination_user_two_real_users(self):
     factory.make_user()
     factory.make_user()
     self.assertEqual(get_legacy_user(), get_destination_user())
예제 #10
0
 def test_get_owned_nodes_with_nodes_owned_by_system_users(self):
     factory.make_node(owner=get_legacy_user()),
     self.assertEqual([], list(get_owned_nodes()))