示例#1
0
    def test_positive_remove_role(self):
        """Remove role from User for all variations of role names

        @id: 51b15516-da42-4149-8032-87baa93f9e56

        @Assert: Role is removed

        @BZ: 1138553

        @CaseLevel: Integration
        """
        user = make_user()
        include_list = [gen_string("alphanumeric", 100)]
        for role_name in valid_usernames_list() + include_list:
            with self.subTest(role_name):
                make_role({'name': role_name})
                User.add_role({
                    'login': user['login'],
                    'role': role_name,
                })
                user = User.info({'id': user['id']})
                self.assertIn(role_name, user['roles'])
                User.remove_role({
                    'login': user['login'],
                    'role': role_name,
                })
                user = User.info({'id': user['id']})
                self.assertNotIn(role_name, user['roles'])
示例#2
0
    def test_user_remove_role_1(self):
        """@Test: Remove role to User for all variations of role names

        @Feature: User - Remove role

        @Steps:
        1. Create role and add it to the user . Try to remove the role

        @Assert: Role is removed

        @BZ: 1138553
        """
        user = make_user()
        include_list = [gen_string("alphanumeric", 100)]
        for role_name in valid_usernames_list() + include_list:
            with self.subTest(role_name):
                make_role({'name': role_name})
                self.__assert_exists(user)
                UserObj.add_role({
                    'login': user['login'],
                    'role': role_name,
                })
                user = UserObj.info({'id': user['id']})
                self.assertIn(role_name, user['roles'])
                UserObj.remove_role({
                    'login': user['login'],
                    'role': role_name,
                })
                user = UserObj.info({'id': user['id']})
                self.assertNotIn(role_name, user['roles'])
示例#3
0
    def test_positive_remove_role(self):
        """Remove role from User for all variations of role names

        @Feature: User - Remove role

        @Assert: Role is removed

        @BZ: 1138553
        """
        user = make_user()
        include_list = [gen_string("alphanumeric", 100)]
        for role_name in valid_usernames_list() + include_list:
            with self.subTest(role_name):
                make_role({'name': role_name})
                User.add_role({
                    'login': user['login'],
                    'role': role_name,
                })
                user = User.info({'id': user['id']})
                self.assertIn(role_name, user['roles'])
                User.remove_role({
                    'login': user['login'],
                    'role': role_name,
                })
                user = User.info({'id': user['id']})
                self.assertNotIn(role_name, user['roles'])
示例#4
0
    def test_positive_remove_role(self):
        """Remove role from User for all variations of role names

        @Feature: User - Remove role

        @Assert: Role is removed

        @BZ: 1138553
        """
        user = make_user()
        include_list = [gen_string("alphanumeric", 100)]
        for role_name in valid_usernames_list() + include_list:
            with self.subTest(role_name):
                make_role({'name': role_name})
                User.add_role({
                    'login': user['login'],
                    'role': role_name,
                })
                user = User.info({'id': user['id']})
                self.assertIn(role_name, user['roles'])
                User.remove_role({
                    'login': user['login'],
                    'role': role_name,
                })
                user = User.info({'id': user['id']})
                self.assertNotIn(role_name, user['roles'])
示例#5
0
    def test_positive_add_and_delete_roles(self):
        """Add multiple roles to User, then delete them

        For now add-role user sub command does not allow multiple role ids
        (https://github.com/SatelliteQE/robottelo/issues/3729)
        So if if it gets fixed this test can be updated:
        (http://projects.theforeman.org/issues/16206)

        :BZ: 1138553

        :id: d769ac61-f158-4e4e-a176-1c87de8b00f6

        :expectedresults: Roles are added to user and deleted successfully

        :CaseLevel: Integration
        """
        user = make_user()
        original_role_names = set(user['roles'])
        expected_role_names = set(original_role_names)

        for role_id, role in self.stubbed_roles.items():
            User.add_role({'login': user['login'], 'role-id': role_id})
            expected_role_names.add(role['name'])

        self.assertItemsEqual(expected_role_names, User.info({'id': user['id']})['roles'])

        roles_to_remove = expected_role_names - original_role_names
        for role_name in roles_to_remove:
            user_credentials = {'login': user['login'], 'role': role_name}
            User.remove_role(user_credentials)
            user = User.info({'id': user['id']})
            self.assertNotIn(role_name, user['roles'])

        self.assertItemsEqual(original_role_names, User.info({'id': user['id']})['roles'])
示例#6
0
    def test_user_remove_role_1(self, test_data):
        """@Test: Remove role to User for all variations of role names

        @Feature: User - Remove role

        @Steps:
        1. Create role and add it to the user . Try to remove the role

        @Assert: Role is removed

        @BZ: 1138553

        """
        user = make_user()
        role = make_role(test_data)
        self.__assert_exists(user)
        UserObj.add_role({
            'login': user['login'],
            'role': role['name'],
        })
        user = UserObj.info({'id': user['id']})
        self.assertIn(role['name'], user['roles'])
        UserObj.remove_role({
            'login': user['login'],
            'role': role['name'],
        })
        user = UserObj.info({'id': user['id']})
        self.assertNotIn(role['name'], user['roles'])
示例#7
0
    def test_positive_delete_by_id(self):
        """Create an user and then delete it using its id

        @Feature: User - Positive Delete

        @Assert: User is deleted
        """
        user = make_user()
        User.exists(search=('login', user['login']))
        User.delete({'id': user['id']})
        with self.assertRaises(CLIReturnCodeError):
            User.info({'login': user['login']})
示例#8
0
    def test_positive_delete_by_id(self):
        """Create an user and then delete it using its id

        @id: 7e97e177-b676-49b3-86ee-644f6f6ff30c

        @Assert: User is deleted
        """
        user = make_user()
        User.exists(search=('login', user['login']))
        User.delete({'id': user['id']})
        with self.assertRaises(CLIReturnCodeError):
            User.info({'login': user['login']})
示例#9
0
    def test_positive_delete_by_id(self):
        """Create an user and then delete it using its id

        @Feature: User - Positive Delete

        @Assert: User is deleted
        """
        user = make_user()
        User.exists(search=('login', user['login']))
        User.delete({'id': user['id']})
        with self.assertRaises(CLIReturnCodeError):
            User.info({'login': user['login']})
示例#10
0
    def test_positive_delete_by_id(self):
        """Create an user and then delete it using its id

        @id: 7e97e177-b676-49b3-86ee-644f6f6ff30c

        @Assert: User is deleted
        """
        user = make_user()
        User.exists(search=('login', user['login']))
        User.delete({'id': user['id']})
        with self.assertRaises(CLIReturnCodeError):
            User.info({'login': user['login']})
示例#11
0
    def test_positive_delete_admin(self):
        """Delete an admin user

        @id: 9752706c-fdbd-4a36-af6f-27824d22ea03

        @Assert: User is deleted
        """
        for login in valid_usernames_list():
            with self.subTest(login), self.assertRaises(CLIReturnCodeError):
                user = make_user({"login": login, "admin": 'true'})
                self.assertEqual(user['admin'], 'yes')
                User.delete({'login': user['login']})
                User.info({'login': user['login']})
示例#12
0
    def test_positive_delete_admin(self):
        """Delete an admin user

        @id: 9752706c-fdbd-4a36-af6f-27824d22ea03

        @Assert: User is deleted
        """
        for login in valid_usernames_list():
            with self.subTest(login), self.assertRaises(CLIReturnCodeError):
                user = make_user({"login": login, "admin": 'true'})
                self.assertEqual(user['admin'], 'yes')
                User.delete({'login': user['login']})
                User.info({'login': user['login']})
示例#13
0
    def test_positive_delete_admin(self):
        """Delete an admin user

        @Feature: User - Positive Delete

        @Assert: User is deleted
        """
        for login in valid_usernames_list():
            with self.subTest(login):
                user = make_user({"login": login, "admin": 'true'})
                self.assertEqual(user['admin'], 'yes')
                User.delete({'login': user['login']})
                with self.assertRaises(CLIReturnCodeError):
                    User.info({'login': user['login']})
示例#14
0
    def test_positive_delete_admin(self):
        """Delete an admin user

        @Feature: User - Positive Delete

        @Assert: User is deleted
        """
        for login in valid_usernames_list():
            with self.subTest(login):
                user = make_user({"login": login, "admin": 'true'})
                self.assertEqual(user['admin'], 'yes')
                User.delete({'login': user['login']})
                with self.assertRaises(CLIReturnCodeError):
                    User.info({'login': user['login']})
示例#15
0
    def test_positive_delete_by_name(self):
        """Create an user and then delete it using its name

        @Feature: User - Positive Delete

        @Assert: User is deleted
        """
        for login in valid_usernames_list():
            with self.subTest(login):
                user = make_user({'login': login})
                self.assertEqual(user['login'], login)
                User.delete({'login': user['login']})
                with self.assertRaises(CLIReturnCodeError):
                    User.info({'login': user['login']})
示例#16
0
    def test_positive_delete_by_name(self):
        """Create an user and then delete it using its name

        @id: 37cf4313-012f-4215-b537-030ee61c1c3c

        @Assert: User is deleted
        """
        for login in valid_usernames_list():
            with self.subTest(login):
                user = make_user({'login': login})
                self.assertEqual(user['login'], login)
                User.delete({'login': user['login']})
                with self.assertRaises(CLIReturnCodeError):
                    User.info({'login': user['login']})
示例#17
0
    def test_positive_delete_by_name(self):
        """Create an user and then delete it using its name

        @id: 37cf4313-012f-4215-b537-030ee61c1c3c

        @Assert: User is deleted
        """
        for login in valid_usernames_list():
            with self.subTest(login), self.assertRaises(CLIReturnCodeError):
                user = make_user({'login': login})
                self.assertEqual(user['login'], login)
                User.delete({'login': user['login']})

                User.info({'login': user['login']})
示例#18
0
    def test_positive_delete_by_name(self):
        """Create an user and then delete it using its name

        @Feature: User - Positive Delete

        @Assert: User is deleted
        """
        for login in valid_usernames_list():
            with self.subTest(login):
                user = make_user({'login': login})
                self.assertEqual(user['login'], login)
                User.delete({'login': user['login']})
                with self.assertRaises(CLIReturnCodeError):
                    User.info({'login': user['login']})
示例#19
0
    def test_positive_create_and_refresh_external_usergroup_with_local_user(
            self):
        """Create and Refresh external user group with FreeIPA LDAP. Verify Local user
           association from user-group with external group with FreeIPA LDAP

        :id: bd6152e3-51ac-4e84-b084-8bab1c4eb583

        :expectedresults: User group is created successfully and assigned to correct auth
             source. User group is refreshed successfully. Local user is associated from
             user group with external group.

        :CaseLevel: Integration

        :BZ: 1412209
        """
        ext_user_group = make_usergroup_external({
            'auth-source-id':
            self.auth['server']['id'],
            'user-group-id':
            self.user_group['id'],
            'name':
            'foobargroup',
        })
        self.assertEqual(ext_user_group['auth-source'],
                         self.auth['server']['name'])
        with self.assertNotRaises(CLIReturnCodeError):
            UserGroupExternal.refresh({
                'user-group-id': self.user_group['id'],
                'name': 'foobargroup'
            })
        user = make_user()
        UserGroup.add_user({
            'user': user['login'],
            'id': self.user_group['id']
        })
        self.assertEqual(
            User.info({'login': user['login']})['user-groups'][0]['usergroup'],
            self.user_group['name'],
        )
        with self.assertNotRaises(CLIReturnCodeError):
            UserGroupExternal.refresh({
                'user-group-id': self.user_group['id'],
                'name': 'foobargroup'
            })
        print(User.info({'login': user['login']}))
        self.assertEqual(
            User.info({'login': user['login']})['user-groups'][0]['usergroup'],
            self.user_group['name'],
        )
示例#20
0
    def test_positive_automate_bz1426957(self):
        """Verify role is properly reflected on AD user.

        :id: 1c1209a6-5bb8-489c-a151-bb2fce4dbbfc

        :expectedresults: Roles from usergroup is applied on AD user successfully.

        :CaseLevel: Integration

        :BZ: 1426957
        """
        ext_user_group = make_usergroup_external({
            'auth-source-id': self.auth['server']['id'],
            'user-group-id': self.user_group['id'],
            'name': 'foobargroup'
        })
        self.assertEqual(
            ext_user_group['auth-source'], self.auth['server']['name']
        )
        role = make_role()
        UserGroup.add_role({'id': self.user_group['id'], 'role-id': role['id']})
        with self.assertNotRaises(CLIReturnCodeError):
            Task.with_user(username=self.ldap_user_name, password=self.ldap_user_passwd).list()
            UserGroupExternal.refresh({
                'user-group-id': self.user_group['id'],
                'name': 'foobargroup'
            })
        self.assertEqual(User.info({'login': self.ldap_user_name})['user-groups'][1],
                         role['name'])
        User.delete({'login': self.ldap_user_name})
示例#21
0
    def test_positive_add_roles(self):
        """Add multiple roles to User

        For now add-role user sub command does not allow multiple role ids
        (https://github.com/SatelliteQE/robottelo/issues/3729)
        So if if it gets fixed this test can be updated:
        (http://projects.theforeman.org/issues/16206)

        :id: d769ac61-f158-4e4e-a176-1c87de8b00f6

        :expectedresults: Roles are added to user

        :CaseLevel: Integration
        """
        user = self.user
        original_role_names = set(user['roles'])
        expected_role_names = set(original_role_names)

        for role_id, role in self.stubbed_roles.items():
            User.add_role({'login': user['login'], 'role-id': role_id})
            expected_role_names.add(role['name'])

        self.assertItemsEqual(
            expected_role_names,
            User.info({'id': user['id']})['roles']
        )
示例#22
0
    def test_positive_delete_by_name(self):
        """Create an user and then delete it using its name

        :id: 37cf4313-012f-4215-b537-030ee61c1c3c

        :expectedresults: User is deleted

        :CaseImportance: Critical
        """
        for login in valid_usernames_list():
            with self.subTest(login), self.assertRaises(CLIReturnCodeError):
                user = make_user({'login': login})
                self.assertEqual(user['login'], login)
                User.delete({'login': user['login']})

                User.info({'login': user['login']})
示例#23
0
    def test_positive_add_roles(self):
        """Add multiple roles to User

        For now add-role user sub command does not allow multiple role ids
        (https://github.com/SatelliteQE/robottelo/issues/3729)
        So if if it gets fixed this test can be updated:
        (http://projects.theforeman.org/issues/16206)

        :id: d769ac61-f158-4e4e-a176-1c87de8b00f6

        :expectedresults: Roles are added to user

        :CaseLevel: Integration
        """
        user = self.user
        original_role_names = set(user['roles'])
        expected_role_names = set(original_role_names)

        for role_id, role in self.stubbed_roles.items():
            User.add_role({'login': user['login'], 'role-id': role_id})
            expected_role_names.add(role['name'])

        self.assertItemsEqual(
            expected_role_names,
            User.info({'id': user['id']})['roles']
        )
示例#24
0
    def test_positive_update_user_4(self):
        """@Test: Update Email Address in User

        @Feature: User - Positive Update

        @Steps:
        1. Create User
        2. Update Email Address for all variations in [1]

        @Assert: User is updated
        """
        user = make_user()
        for data in (gen_string("alpha"),
                     gen_string("alphanumeric"),
                     gen_string("numeric"),
                     '{0}+{1}'.format(gen_alphanumeric(), gen_alphanumeric()),
                     '{0}.{1}'.format(gen_alphanumeric(), gen_alphanumeric()),
                     r"!#$%&*+-/=?^`{|}~"):
            with self.subTest(data):
                email = '{0}@example.com'.format(data)
                UserObj.update({
                    'id': user['id'],
                    # escape ` to avoid bash syntax error
                    'mail': email.replace('`', r'\`'),
                })
                result = UserObj.info({'id': user['id']})
                self.assertEqual(result['email'], email)
示例#25
0
def test_positive_automate_bz1426957(ldap_auth_source, function_user_group):
    """Verify role is properly reflected on AD user.

    :id: 1c1209a6-5bb8-489c-a151-bb2fce4dbbfc

    :expectedresults: Roles from usergroup is applied on AD user successfully.

    :CaseLevel: Integration

    :BZ: 1426957, 1667704
    """
    ext_user_group = make_usergroup_external({
        'auth-source-id':
        ldap_auth_source['id'],
        'user-group-id':
        function_user_group['id'],
        'name':
        'foobargroup',
    })
    assert ext_user_group['auth-source'] == ldap_auth_source['ldap_hostname']
    role = make_role()
    UserGroup.add_role({
        'id': function_user_group['id'],
        'role-id': role['id']
    })
    Task.with_user(username=ldap_auth_source['user_name'],
                   password=ldap_auth_source['user_password']).list()
    UserGroupExternal.refresh({
        'user-group-id': function_user_group['id'],
        'name': 'foobargroup'
    })
    assert role['name'] in User.info({'login': ldap_auth_source['user_name']
                                      })['user-groups']
    User.delete({'login': ldap_auth_source['user_name']})
示例#26
0
    def test_positive_automate_bz1426957(self):
        """Verify role is properly reflected on AD user.

        :id: 1c1209a6-5bb8-489c-a151-bb2fce4dbbfc

        :expectedresults: Roles from usergroup is applied on AD user successfully.

        :CaseLevel: Integration

        :BZ: 1426957, 1667704
        """
        ext_user_group = make_usergroup_external(
            {
                'auth-source-id': self.auth['server']['id'],
                'user-group-id': self.user_group['id'],
                'name': 'foobargroup',
            }
        )
        self.assertEqual(ext_user_group['auth-source'], self.auth['server']['name'])
        role = make_role()
        UserGroup.add_role({'id': self.user_group['id'], 'role-id': role['id']})
        with self.assertNotRaises(CLIReturnCodeError):
            Task.with_user(username=self.ldap_user_name, password=self.ldap_user_passwd).list()
            UserGroupExternal.refresh(
                {'user-group-id': self.user_group['id'], 'name': 'foobargroup'}
            )
        self.assertEqual(User.info({'login': self.ldap_user_name})['user-groups'][1], role['name'])
        User.delete({'login': self.ldap_user_name})
示例#27
0
    def test_automation_bz_1110337(self):
        """@Test: Automation of BZ 1110337

        @Feature: User - info, list BZ

        @Assert: No undefined method exception
        """
        users = [make_user() for _ in range(4)]
        # non-existing user info
        with self.assertRaises(CLIReturnCodeError) as exe:
            UserObj.info({'id': 0})
        self.assertNotRegexpMatches(exe.exception.stderr, 'undefined method')
        # list users
        result = UserObj.list()
        for user in users:
            self.assertNotEqual(str(result).find(user['login']), -1)
示例#28
0
    def test_positive_create_and_refresh_external_usergroup_with_local_user(
            self):
        """Create and refresh external user group with AD LDAP. Verify Local user
           association from user-group with external group with AD LDAP

        :id: 7431979c-aea8-4984-bb7d-185f5b7c3109

        :expectedresults: User group is created and refreshed successfully.
            Local user is associated from user-group with external group.

        :CaseLevel: Integration

        :BZ: 1412209
        """
        ext_user_group = make_usergroup_external({
            'auth-source-id':
            self.auth['server']['id'],
            'user-group-id':
            self.user_group['id'],
            'name':
            'foobargroup',
        })
        self.assertEqual(ext_user_group['auth-source'],
                         self.auth['server']['name'])
        with self.assertNotRaises(CLIReturnCodeError):
            UserGroupExternal.refresh({
                'user-group-id': self.user_group['id'],
                'name': 'foobargroup'
            })
        user = make_user()
        UserGroup.add_user({
            'user': user['login'],
            'id': self.user_group['id']
        })
        self.assertEqual(
            User.info({'login': user['login']})['user-groups'][0]['usergroup'],
            self.user_group['name'],
        )
        with self.assertNotRaises(CLIReturnCodeError):
            UserGroupExternal.refresh({
                'user-group-id': self.user_group['id'],
                'name': 'foobargroup'
            })
        self.assertEqual(
            User.info({'login': user['login']})['user-groups'][0]['usergroup'],
            self.user_group['name'],
        )
示例#29
0
    def test_bugzilla_1079649_1(self):
        """@Test: Delete a user by it's name

        @Feature: User

        @Steps:
        1. Create User
        2. Delete the User

        @Assert: User is deleted
        """
        user = make_user()
        self.__assert_exists(user)
        UserObj.delete({'login': user['login']})
        # make sure user was removed
        with self.assertRaises(CLIReturnCodeError):
            UserObj.info({'login': user['login']})
示例#30
0
    def test_positive_delete_user_2(self):
        """@Test: Delete an admin user

        @Feature: User - Positive Delete

        @Steps:
        1. Create an admin user
        2. Delete the User

        @Assert: User is deleted
        """
        for login in valid_usernames_list():
            with self.subTest(login):
                user = make_user({"login": login, "admin": 'true'})
                self.__assert_exists(user)
                UserObj.delete({'login': user['login']})
                with self.assertRaises(CLIReturnCodeError):
                    UserObj.info({'login': user['login']})
示例#31
0
    def test_positive_delete_user_1(self, test_data):
        """@Test: Delete a user

        @Feature: User - Positive Delete

        @Steps:
        1. Create User
        2. Delete the User

        @Assert: User is deleted

        """
        user = make_user(test_data)
        self.__assert_exists(user)
        UserObj.delete({'login': user['login']})
        # make sure user was removed
        with self.assertRaises(CLIReturnCodeError):
            UserObj.info({'login': user['login']})
示例#32
0
    def test_positive_local_user_with_external_usergroup(self):
        """Verify Local user association from user-group with external group with AD LDAP

        :id: 7431979c-aea8-4984-bb7d-185f5b7c3109

        :expectedresults: Local user is associated from user-group with external group.

        :CaseLevel: Integration

        :BZ: 1412209
        """
        ext_user_group = make_usergroup_external({
            'auth-source-id': self.auth['server']['id'],
            'user-group-id': self.user_group['id'],
            'name': 'foobargroup'
        })
        self.assertEqual(
            ext_user_group['auth-source'], self.auth['server']['name']
        )
        with self.assertNotRaises(CLIReturnCodeError):
            UserGroupExternal.refresh({
                'user-group-id': self.user_group['id'],
                'name': 'foobargroup'
            })
        user = make_user()
        UserGroup.add_user({
            'user': user['login'],
            'id': self.user_group['id']
        })
        print(User.info({'login': user['login']}))
        self.assertEqual(
            User.info({'login': user['login']})['user-groups'][0]['usergroup'],
            self.user_group['name']
        )
        with self.assertNotRaises(CLIReturnCodeError):
            UserGroupExternal.refresh({
                'user-group-id': self.user_group['id'],
                'name': 'foobargroup'
            })
        print(User.info({'login': user['login']}))
        self.assertEqual(
            User.info({'login': user['login']})['user-groups'][0]['usergroup'],
            self.user_group['name']
        )
示例#33
0
    def test_positive_find_admin_user(self):
        """Check if Admin User is present

        @Feature: Smoke Test

        @Assert: Admin User is found and has Admin role
        """
        result = User.info({u'login': u'admin'})
        self.assertEqual(result['login'], 'admin')
        self.assertEqual(result['admin'], 'yes')
示例#34
0
def test_positive_cli_find_admin_user():
    """Check if Admin User is present

    :id: f6755189-05a6-4d2f-a3b8-98be0cfacaee

    :expectedresults: Admin User is found and has Admin role
    """
    result = User.info({'login': '******'})
    assert result['login'] == 'admin'
    assert result['admin'] == 'yes'
示例#35
0
    def test_positive_find_admin_user(self):
        """Check if Admin User is present

        @id: f6755189-05a6-4d2f-a3b8-98be0cfacaee

        @Assert: Admin User is found and has Admin role
        """
        result = User.info({u'login': u'admin'})
        self.assertEqual(result['login'], 'admin')
        self.assertEqual(result['admin'], 'yes')
示例#36
0
    def test_positive_find_admin_user(self):
        """Check if Admin User is present

        @id: f6755189-05a6-4d2f-a3b8-98be0cfacaee

        @Assert: Admin User is found and has Admin role
        """
        result = User.info({u'login': u'admin'})
        self.assertEqual(result['login'], 'admin')
        self.assertEqual(result['admin'], 'yes')
示例#37
0
    def test_negative_delete_internal_admin(self):
        """Attempt to delete internal admin user

        @id: 4fc92958-9e75-4bd2-bcbe-32f906e432f5

        @Assert: User is not deleted
        """
        with self.assertRaises(CLIReturnCodeError):
            User.delete({'login': self.foreman_user})
        self.assertTrue(User.info({'login': self.foreman_user}))
示例#38
0
    def test_negative_delete_internal_admin(self):
        """Attempt to delete internal admin user

        @id: 4fc92958-9e75-4bd2-bcbe-32f906e432f5

        @Assert: User is not deleted
        """
        with self.assertRaises(CLIReturnCodeError) as raise_ctx:
            User.delete({'login': self.foreman_user})
        self.assert_error_msg(raise_ctx, u'Could not delete the user:'******'login': self.foreman_user}))
示例#39
0
    def test_positive_update_email(self):
        """Update Email Address in My Account

        @Feature: My Account - Positive Update

        @Assert: Current User is updated
        """
        email = u'{0}@example.com'.format(gen_string('alphanumeric'))
        User.update({'id': self.user['id'], 'mail': email})
        result = User.info({'id': self.user['id']})
        self.assertEqual(result['email'], email)
示例#40
0
    def test_positive_update_email(self):
        """Update Email Address in My Account

        @id: 70bab43b-0842-45a1-81fb-e47ff8646c8e

        @Assert: Current User is updated
        """
        email = u'{0}@example.com'.format(gen_string('alphanumeric'))
        User.update({'id': self.user['id'], 'mail': email})
        result = User.info({'id': self.user['id']})
        self.assertEqual(result['email'], email)
示例#41
0
    def test_negative_delete_internal_admin(self):
        """Attempt to delete internal admin user

        @Feature: User - Negative Delete

        @Assert: User is not deleted
        """
        login = settings.server.admin_username
        with self.assertRaises(CLIReturnCodeError):
            User.delete({'login': login})
        self.assertTrue(User.info({'login': login}))
示例#42
0
    def test_negative_delete_internal_admin(self):
        """Attempt to delete internal admin user

        @Feature: User - Negative Delete

        @Assert: User is not deleted
        """
        login = settings.server.admin_username
        with self.assertRaises(CLIReturnCodeError):
            User.delete({'login': login})
        self.assertTrue(User.info({'login': login}))
示例#43
0
    def test_positive_update_email(self):
        """Update Email Address in My Account

        @Feature: My Account - Positive Update

        @Assert: Current User is updated
        """
        email = u'{0}@example.com'.format(gen_string('alphanumeric'))
        User.update({'id': self.user['id'], 'mail': email})
        result = User.info({'id': self.user['id']})
        self.assertEqual(result['email'], email)
示例#44
0
    def test_positive_update_surname(self):
        """Update Surname in My Account

        @Feature: My Account - Positive Update

        @Assert: Current User is updated
        """
        new_lastname = gen_string('alphanumeric')
        User.update({'id': self.user['id'], 'lastname': new_lastname})
        result = User.info({'id': self.user['id']})
        updated_last_name = result['name'].split(' ')
        self.assertEqual(updated_last_name[1], new_lastname)
示例#45
0
    def test_positive_update_first_name(self):
        """Update Firstname in My Account

        @id: f8de3843-f2dc-4121-ab75-625c8f542627

        @Assert: Current User is updated
        """
        new_firstname = gen_string('alphanumeric')
        User.update({'id': self.user['id'], 'firstname': new_firstname})
        result = User.info({'id': self.user['id']})
        updated_first_name = result['name'].split(' ')
        self.assertEqual(updated_first_name[0], new_firstname)
示例#46
0
    def test_negative_delete_internal_admin(self):
        """Attempt to delete internal admin user

        :id: 4fc92958-9e75-4bd2-bcbe-32f906e432f5

        :expectedresults: User is not deleted

        :CaseImportance: Critical
        """
        with self.assertRaisesRegex(CLIReturnCodeError, 'Could not delete the user:'******'login': self.foreman_user})
        self.assertTrue(User.info({'login': self.foreman_user}))
示例#47
0
    def test_positive_update_surname(self):
        """Update Surname in My Account

        @id: 40ad2e78-a2af-45ca-bbd8-e9ca5178dc41

        @Assert: Current User is updated
        """
        new_lastname = gen_string('alphanumeric')
        User.update({'id': self.user['id'], 'lastname': new_lastname})
        result = User.info({'id': self.user['id']})
        updated_last_name = result['name'].split(' ')
        self.assertEqual(updated_last_name[1], new_lastname)
示例#48
0
    def test_negative_delete_internal_admin(self):
        """Attempt to delete internal admin user

        :id: 4fc92958-9e75-4bd2-bcbe-32f906e432f5

        :expectedresults: User is not deleted

        :CaseImportance: Critical
        """
        with pytest.raises(CLIReturnCodeError):
            User.delete({'login': settings.server.admin_username})
        assert User.info({'login': settings.server.admin_username})
示例#49
0
 def assert_user_roles(self, roles_dct):
     """
     Check if roles present on roles_dct are added to user
     :param roles_dct: dictionary if roles
     """
     user = self.user
     expected_role_names = set(user['roles'])
     for role_id, role in roles_dct.items():
         User.add_role({'login': user['login'], 'role-id': role_id})
         expected_role_names.add(role['name'])
     self.assertItemsEqual(expected_role_names,
                           User.info({'id': user['id']})['roles'])
示例#50
0
    def test_positive_update_surname(self):
        """Update Surname in My Account

        @Feature: My Account - Positive Update

        @Assert: Current User is updated
        """
        new_lastname = gen_string('alphanumeric')
        User.update({'id': self.user['id'], 'lastname': new_lastname})
        result = User.info({'id': self.user['id']})
        updated_last_name = result['name'].split(' ')
        self.assertEqual(updated_last_name[1], new_lastname)
示例#51
0
    def test_positive_remove_role(self):
        """Remove role from User for all variations of role names

        :id: 51b15516-da42-4149-8032-87baa93f9e56

        :expectedresults: Role is removed

        :BZ: 1138553

        :CaseLevel: Integration
        """
        user = self.user
        for role_id, role in self.stubbed_roles.items():
            role_name = role['name']
            with self.subTest(role_name):
                user_credentials = {'login': user['login'], 'role': role_name}
                User.add_role(user_credentials)
                user = User.info({'id': user['id']})
                self.assertIn(role_name, user['roles'])
                User.remove_role(user_credentials)
                user = User.info({'id': user['id']})
                self.assertNotIn(role_name, user['roles'])
示例#52
0
    def test_positive_remove_role(self):
        """Remove role from User for all variations of role names

        :id: 51b15516-da42-4149-8032-87baa93f9e56

        :expectedresults: Role is removed

        :BZ: 1138553

        :CaseLevel: Integration
        """
        user = self.user
        for role_id, role in self.stubbed_roles.items():
            role_name = role['name']
            with self.subTest(role_name):
                user_credentials = {'login': user['login'], 'role': role_name}
                User.add_role(user_credentials)
                user = User.info({'id': user['id']})
                self.assertIn(role_name, user['roles'])
                User.remove_role(user_credentials)
                user = User.info({'id': user['id']})
                self.assertNotIn(role_name, user['roles'])
示例#53
0
    def test_positive_CRUD_admin(self):
        """Create an Admin user

        :id: 0d0384ad-d85a-492e-8630-7f48912a4fd5

        :expectedresults: Admin User is created, updated, deleted

        :CaseImportance: Critical
        """
        user = make_user({'admin': '1'})
        assert user['admin'] == 'yes'
        # update to non admin by id
        User.update({'id': user['id'], 'admin': '0'})
        user = User.info({'id': user['id']})
        assert user['admin'] == 'no'
        # update back to admin by name
        User.update({'login': user['login'], 'admin': '1'})
        user = User.info({'login': user['login']})
        assert user['admin'] == 'yes'
        # delete user
        User.delete({'login': user['login']})
        with pytest.raises(CLIReturnCodeError):
            User.info({'id': user['id']})
示例#54
0
 def assert_user_roles(self, roles_dct):
     """
     Check if roles present on roles_dct are added to user
     :param roles_dct: dictionary if roles
     """
     user = self.user
     expected_role_names = set(user['roles'])
     for role_id, role in roles_dct.items():
         User.add_role({'login': user['login'], 'role-id': role_id})
         expected_role_names.add(role['name'])
     self.assertItemsEqual(
         expected_role_names,
         User.info({'id': user['id']})['roles']
     )
示例#55
0
    def test_positive_update_to_admin(self):
        """Convert usual user to an admin user

        @id: 3c5cdeb0-c529-472e-a291-269b703bf9d1

        @Assert: User is updated
        """
        user = self.user
        self.assertEqual(user['admin'], 'no')
        User.update({
            'id': user['id'],
            'admin': '1',
        })
        user = User.info({'id': user['id']})
        self.assertEqual(user['admin'], 'yes')
示例#56
0
    def test_positive_update_org(self):
        """Assign a User to an Org

        @id: 7d16ea11-b1e9-4f3b-b3c5-a4b8569947da

        @Assert: User is updated
        """
        user = self.user
        org = make_org()
        User.update({
            'id': user['id'],
            'organization-ids': org['id'],
        })
        user = User.info({'id': user['id']})
        self.assertEqual(org['name'], user['organizations'][0])
示例#57
0
    def test_positive_update_password(self):
        """Update Password in My Account

        @id: e7e9b212-f0aa-4f7e-8433-b4639da89495

        @Assert: User is updated
        """
        password = gen_string('alphanumeric')
        User.update({
            'id': self.user['id'],
            'password': password,
        })
        User.foreman_admin_password = password
        result = User.info({'id': self.user['id']})
        self.assertTrue(result)