コード例 #1
0
    def test_user_identification_id_and_name(self):
        """Test various mapping options and how users are identified.

        This test calls mapped.setup_username() for propagating user object.

        Test plan:
        - Check if the user has proper domain ('federated') set
        - Check if the user has proper type set ('ephemeral')
        - Check if display_name is properly set from the assertion
        - Check if unique_id is properly set and equal to value hardcoded
        in the mapping

        This test does two iterations with different assertions used as input
        for the Mapping Engine.  Different assertions will be matched with
        different rules in the ruleset, effectively issuing different user_id
        (hardcoded values). In the first iteration, the hardcoded user_id is
        not url-safe and we expect Keystone to make it url safe. In the latter
        iteration, provided user_id is already url-safe and we expect server
        not to change it.

        """
        testcases = [(mapping_fixtures.CUSTOMER_ASSERTION, 'bwilliams'),
                     (mapping_fixtures.EMPLOYEE_ASSERTION, 'tbo')]
        for assertion, exp_user_name in testcases:
            mapping = mapping_fixtures.MAPPING_USER_IDS
            rp = mapping_utils.RuleProcessor(FAKE_MAPPING_ID, mapping['rules'])
            mapped_properties = rp.process(assertion)
            self.assertIsNotNone(mapped_properties)
            self.assertValidMappedUserObject(mapped_properties)
            unique_id, display_name = (
                mapped.get_user_unique_id_and_display_name(mapped_properties))
            self.assertEqual(exp_user_name, display_name)
            self.assertEqual('abc123%40example.com', unique_id)
コード例 #2
0
ファイル: test_utils.py プロジェクト: mahak/keystone
    def test_user_identification_id_and_name(self):
        """Test various mapping options and how users are identified.

        This test calls mapped.setup_username() for propagating user object.

        Test plan:
        - Check if the user has proper domain ('federated') set
        - Check if the user has proper type set ('ephemeral')
        - Check if display_name is properly set from the assertion
        - Check if unique_id is properly set and equal to value hardcoded
        in the mapping

        This test does two iterations with different assertions used as input
        for the Mapping Engine.  Different assertions will be matched with
        different rules in the ruleset, effectively issuing different user_id
        (hardcoded values). In the first iteration, the hardcoded user_id is
        not url-safe and we expect Keystone to make it url safe. In the latter
        iteration, provided user_id is already url-safe and we expect server
        not to change it.

        """
        testcases = [(mapping_fixtures.CUSTOMER_ASSERTION, 'bwilliams'),
                     (mapping_fixtures.EMPLOYEE_ASSERTION, 'tbo')]
        for assertion, exp_user_name in testcases:
            mapping = mapping_fixtures.MAPPING_USER_IDS
            rp = mapping_utils.RuleProcessor(FAKE_MAPPING_ID, mapping['rules'])
            mapped_properties = rp.process(assertion)
            self.assertIsNotNone(mapped_properties)
            self.assertValidMappedUserObject(mapped_properties)
            unique_id, display_name = (
                mapped.get_user_unique_id_and_display_name(mapped_properties)
            )
            self.assertEqual(exp_user_name, display_name)
            self.assertEqual('abc123%40example.com', unique_id)
コード例 #3
0
ファイル: test_utils.py プロジェクト: xhan-shannon/keystone
    def test_get_user_unique_id_and_display_name(self):

        mapping = mapping_fixtures.MAPPING_USER_IDS
        assertion = mapping_fixtures.ADMIN_ASSERTION
        FAKE_MAPPING_ID = uuid.uuid4().hex
        request = webob.Request.blank('/', remote_user='******')
        rp = mapping_utils.RuleProcessor(FAKE_MAPPING_ID, mapping['rules'])
        mapped_properties = rp.process(assertion)
        self.assertIsNotNone(mapped_properties)
        self.assertValidMappedUserObject(mapped_properties)
        unique_id, display_name = mapped.get_user_unique_id_and_display_name(
            request, mapped_properties)
        self.assertEqual('bob', unique_id)
        self.assertEqual('remote_user', display_name)
コード例 #4
0
    def test_get_user_unique_id_and_display_name(self):

        mapping = mapping_fixtures.MAPPING_USER_IDS
        assertion = mapping_fixtures.ADMIN_ASSERTION
        FAKE_MAPPING_ID = uuid.uuid4().hex
        rp = mapping_utils.RuleProcessor(FAKE_MAPPING_ID, mapping['rules'])
        mapped_properties = rp.process(assertion)
        self.assertIsNotNone(mapped_properties)
        self.assertValidMappedUserObject(mapped_properties)
        with self.flask_app.test_request_context(
                environ_base={'REMOTE_USER': '******'}):
            unique_id, display_name = (
                mapped.get_user_unique_id_and_display_name(mapped_properties))
        self.assertEqual('bob', unique_id)
        self.assertEqual('remote_user', display_name)
コード例 #5
0
ファイル: test_utils.py プロジェクト: mahak/keystone
    def test_get_user_unique_id_and_display_name(self):

        mapping = mapping_fixtures.MAPPING_USER_IDS
        assertion = mapping_fixtures.ADMIN_ASSERTION
        FAKE_MAPPING_ID = uuid.uuid4().hex
        rp = mapping_utils.RuleProcessor(FAKE_MAPPING_ID, mapping['rules'])
        mapped_properties = rp.process(assertion)
        self.assertIsNotNone(mapped_properties)
        self.assertValidMappedUserObject(mapped_properties)
        with self.flask_app.test_request_context(
                environ_base={'REMOTE_USER': '******'}):
            unique_id, display_name = (
                mapped.get_user_unique_id_and_display_name(mapped_properties))
        self.assertEqual('bob', unique_id)
        self.assertEqual('remote_user', display_name)
コード例 #6
0
ファイル: test_utils.py プロジェクト: xhfan/keystone
    def test_user_identifications_name_and_federated_domain(self):
        """Test varius mapping options and how users are identified.

        This test calls mapped.setup_username() for propagating user object.

        Test plan:
        - Check if the user has proper domain ('federated') set
        - Check if the user has propert type set ('ephemeral')
        - Check if user's name is properly mapped from the assertion
        - Check if the unique_id and display_name are properly set

        """
        mapping = mapping_fixtures.MAPPING_USER_IDS
        rp = mapping_utils.RuleProcessor(FAKE_MAPPING_ID, mapping['rules'])
        assertion = mapping_fixtures.EMPLOYEE_ASSERTION
        mapped_properties = rp.process(assertion)
        self.assertIsNotNone(mapped_properties)
        self.assertValidMappedUserObject(mapped_properties)
        unique_id, display_name = mapped.get_user_unique_id_and_display_name(
            {}, mapped_properties)
        self.assertEqual('tbo', display_name)
        self.assertEqual('abc123%40example.com', unique_id)
コード例 #7
0
    def test_user_identifications_name_and_federated_domain(self):
        """Test various mapping options and how users are identified.

        This test calls mapped.setup_username() for propagating user object.

        Test plan:
        - Check if the user has proper domain ('federated') set
        - Check if the user has propert type set ('ephemeral')
        - Check if user's name is properly mapped from the assertion
        - Check if the unique_id and display_name are properly set

        """
        mapping = mapping_fixtures.MAPPING_USER_IDS
        rp = mapping_utils.RuleProcessor(FAKE_MAPPING_ID, mapping['rules'])
        assertion = mapping_fixtures.EMPLOYEE_ASSERTION
        mapped_properties = rp.process(assertion)
        self.assertIsNotNone(mapped_properties)
        self.assertValidMappedUserObject(mapped_properties)
        unique_id, display_name = mapped.get_user_unique_id_and_display_name(
            mapped_properties)
        self.assertEqual('tbo', display_name)
        self.assertEqual('abc123%40example.com', unique_id)
コード例 #8
0
ファイル: test_utils.py プロジェクト: xhfan/keystone
    def test_user_identification_id(self):
        """Test varius mapping options and how users are identified.

        This test calls mapped.setup_username() for propagating user object.

        Test plan:
        - Check if the user has proper domain ('federated') set
        - Check if the user has propert type set ('ephemeral')
        - Check if user's display_name is properly set and equal to unique_id,
        as it was not explicitly specified in the mapping.

        """
        mapping = mapping_fixtures.MAPPING_USER_IDS
        rp = mapping_utils.RuleProcessor(FAKE_MAPPING_ID, mapping['rules'])
        assertion = mapping_fixtures.ADMIN_ASSERTION
        mapped_properties = rp.process(assertion)
        context = {'environment': {}}
        self.assertIsNotNone(mapped_properties)
        self.assertValidMappedUserObject(mapped_properties)
        unique_id, display_name = mapped.get_user_unique_id_and_display_name(
            context, mapped_properties)
        self.assertEqual('bob', unique_id)
        self.assertEqual('bob', display_name)
コード例 #9
0
    def test_user_identification_id(self):
        """Test various mapping options and how users are identified.

        This test calls mapped.setup_username() for propagating user object.

        Test plan:
        - Check if the user has proper domain ('federated') set
        - Check if the user has propert type set ('ephemeral')
        - Check if user's display_name is properly set and equal to unique_id,
        as it was not explicitly specified in the mapping.

        """
        mapping = mapping_fixtures.MAPPING_USER_IDS
        rp = mapping_utils.RuleProcessor(FAKE_MAPPING_ID, mapping['rules'])
        assertion = mapping_fixtures.ADMIN_ASSERTION
        mapped_properties = rp.process(assertion)
        self.assertIsNotNone(mapped_properties)
        self.assertValidMappedUserObject(mapped_properties)
        with self.flask_app.test_request_context():
            unique_id, display_name = (
                mapped.get_user_unique_id_and_display_name(mapped_properties))
        self.assertEqual('bob', unique_id)
        self.assertEqual('bob', display_name)
コード例 #10
0
ファイル: test_utils.py プロジェクト: xhfan/keystone
    def test_user_identifications_name(self):
        """Test varius mapping options and how users are identified.

        This test calls mapped.setup_username() for propagating user object.

        Test plan:
        - Check if the user has proper domain ('federated') set
        - Check if the user has property type set ('ephemeral')
        - Check if user's name is properly mapped from the assertion
        - Check if unique_id is properly set and equal to display_name,
        as it was not explicitly specified in the mapping.

        """
        mapping = mapping_fixtures.MAPPING_USER_IDS
        rp = mapping_utils.RuleProcessor(FAKE_MAPPING_ID, mapping['rules'])
        assertion = mapping_fixtures.CONTRACTOR_ASSERTION
        mapped_properties = rp.process(assertion)
        self.assertIsNotNone(mapped_properties)
        self.assertValidMappedUserObject(mapped_properties)
        self.assertEqual('jsmith', mapped_properties['user']['name'])
        unique_id, display_name = mapped.get_user_unique_id_and_display_name(
            {}, mapped_properties)
        self.assertEqual('jsmith', unique_id)
        self.assertEqual('jsmith', display_name)
コード例 #11
0
    def test_user_identifications_name(self):
        """Test various mapping options and how users are identified.

        This test calls mapped.setup_username() for propagating user object.

        Test plan:
        - Check if the user has proper domain ('federated') set
        - Check if the user has property type set ('ephemeral')
        - Check if user's name is properly mapped from the assertion
        - Check if unique_id is properly set and equal to display_name,
        as it was not explicitly specified in the mapping.

        """
        mapping = mapping_fixtures.MAPPING_USER_IDS
        rp = mapping_utils.RuleProcessor(FAKE_MAPPING_ID, mapping['rules'])
        assertion = mapping_fixtures.CONTRACTOR_ASSERTION
        mapped_properties = rp.process(assertion)
        self.assertIsNotNone(mapped_properties)
        self.assertValidMappedUserObject(mapped_properties)
        self.assertEqual('jsmith', mapped_properties['user']['name'])
        unique_id, display_name = mapped.get_user_unique_id_and_display_name(
            mapped_properties)
        self.assertEqual('jsmith', unique_id)
        self.assertEqual('jsmith', display_name)