Example #1
0
    def setUpClass(cls):
        super().setUpClass()
        cls.elasticsearch = get_es_new()
        initialize_index_and_mapping(cls.elasticsearch, USER_INDEX_INFO)
        cls.domain = 'test-user-es'
        cls.domain_obj = create_domain(cls.domain)

        with sync_users_to_es():
            cls._create_mobile_worker('stark', metadata={'sigil': 'direwolf', 'seat': 'Winterfell'})
            cls._create_mobile_worker('lannister', metadata={'sigil': 'lion', 'seat': 'Casterly Rock'})
            cls._create_mobile_worker('targaryen', metadata={'sigil': 'dragon', 'false_sigil': 'direwolf'})
        cls.elasticsearch.indices.refresh(USER_INDEX)
Example #2
0
    def setUpClass(cls):
        super(UserMetadataChoiceProviderTest, cls).setUpClass()
        cls.elasticsearch = get_es_new()
        initialize_index_and_mapping(cls.elasticsearch, USER_INDEX_INFO)
        report = ReportConfiguration(domain=cls.domain)
        cls.domain_obj = create_domain(cls.domain)

        with sync_users_to_es():
            cls.web_user = cls.make_web_user('*****@*****.**')
            cls.users = [
                cls.make_mobile_worker('stark',
                                       metadata={
                                           'sigil': 'direwolf',
                                           'seat': 'Winterfell',
                                           'login_as_user': '******'
                                       }),
                cls.web_user,
                cls.make_mobile_worker('lannister',
                                       metadata={
                                           'sigil': 'lion',
                                           'seat': 'Casterly Rock'
                                       }),
                cls.make_mobile_worker('targaryen',
                                       metadata={
                                           'sigil': 'dragon',
                                           'false_sigil': 'direwolf'
                                       }),
                # test that docs in other domains are filtered out
                cls.make_mobile_worker('Sauron',
                                       metadata={
                                           'sigil': 'eye',
                                           'seat': 'Mordor'
                                       },
                                       domain='some-other-domain-lotr'),
            ]
        cls.elasticsearch.indices.refresh(USER_INDEX)

        choices = [
            SearchableChoice(user.get_id,
                             user.raw_username,
                             searchable_text=[
                                 user.username, user.last_name,
                                 user.first_name,
                                 user.metadata.get('login_as_user')
                             ]) for user in cls.users
            if user.is_member_of(cls.domain)
        ]
        choices.sort(key=lambda choice: choice.display)
        cls.choice_provider = UserChoiceProvider(report, None)
        cls.static_choice_provider = StaticChoiceProvider(choices)