Exemple #1
0
def before_scenario(context, scenario):
    config = {}
    if scenario.status != 'skipped' and 'notesting' in scenario.tags:
        config['SUPERDESK_TESTING'] = False

    tests.setup(context=context, config=config, app_factory=get_app)
    context.headers = [
        ('Content-Type', 'application/json'),
        ('Origin', 'localhost')
    ]

    if 'dbauth' in scenario.tags and LDAP_SERVER:
        scenario.mark_skipped()

    if 'ldapauth' in scenario.tags and not LDAP_SERVER:
        scenario.mark_skipped()

    if scenario.status != 'skipped' and 'auth' in scenario.tags:
        setup_auth_user(context)

    if scenario.status != 'skipped' and 'provider' in scenario.tags:
        setup_providers(context)

    if scenario.status != 'skipped' and 'vocabulary' in scenario.tags:
        with context.app.app_context():
            cmd = VocabulariesPopulateCommand()
            filename = os.path.join(os.path.abspath(os.path.dirname("features/steps/fixtures/")), "vocabularies.json")
            cmd.run(filename)

    if scenario.status != 'skipped' and 'notification' in scenario.tags:
        tests.setup_notification(context)
def before_scenario(context, scenario):
    config = {}
    if scenario.status != 'skipped' and 'notesting' in scenario.tags:
        config['SUPERDESK_TESTING'] = False

    tests.setup(context=context, config=config, app_factory=get_app)
    context.headers = [('Content-Type', 'application/json'),
                       ('Origin', 'localhost')]

    if 'dbauth' in scenario.tags and LDAP_SERVER:
        scenario.mark_skipped()

    if 'ldapauth' in scenario.tags and not LDAP_SERVER:
        scenario.mark_skipped()

    if scenario.status != 'skipped' and 'auth' in scenario.tags:
        setup_auth_user(context)

    if scenario.status != 'skipped' and 'provider' in scenario.tags:
        setup_providers(context)

    if scenario.status != 'skipped' and 'vocabulary' in scenario.tags:
        with context.app.app_context():
            cmd = VocabulariesPopulateCommand()
            filename = os.path.join(
                os.path.abspath(os.path.dirname("features/steps/fixtures/")),
                "vocabularies.json")
            cmd.run(filename)

    if scenario.status != 'skipped' and 'notification' in scenario.tags:
        tests.setup_notification(context)
Exemple #3
0
    def test_populate_vocabularies(self):
        cmd = VocabulariesPopulateCommand()
        cmd.run(self.filename)
        service = get_resource_service("vocabularies")

        for item in self.json_data:
            data = service.find_one(_id=item["_id"], req=None)
            self.assertEqual(data["_id"], item["_id"])
            self.assertListEqual(data["items"], item["items"])
    def test_populate_vocabularies(self):
        cmd = VocabulariesPopulateCommand()
        cmd.run(self.filename)
        service = get_resource_service("vocabularies")

        for item in self.json_data:
            data = service.find_one(_id=item["_id"], req=None)
            self.assertEqual(data["_id"], item["_id"])
            self.assertListEqual(data["items"], item["items"])
    def test_get_subscribers_by_filter_condition(self):
        filter_condition1 = {'field': 'urgency', 'operator': 'in', 'value': '2'}
        filter_condition2 = {'field': 'urgency', 'operator': 'in', 'value': '1'}
        filter_condition3 = {'field': 'headline', 'operator': 'like', 'value': 'tor'}
        filter_condition4 = {'field': 'urgency', 'operator': 'nin', 'value': '3'}

        with self.app.app_context():
            cmd = VocabulariesPopulateCommand()
            filename = os.path.join(os.path.abspath(
                os.path.dirname("apps/prepopulate/data_initialization/vocabularies.json")), "vocabularies.json")
            cmd.run(filename)
            self.assertTrue(len(self.s._get_subscribers_by_filter_condition(filter_condition1)) == 1)
            self.assertTrue(len(self.s._get_subscribers_by_filter_condition(filter_condition2)) == 0)
            self.assertTrue(len(self.s._get_subscribers_by_filter_condition(filter_condition3)) == 2)
            self.assertTrue(len(self.s._get_subscribers_by_filter_condition(filter_condition4)) == 1)
Exemple #6
0
    def test_get_subscribers_by_filter_condition(self):
        filter_condition1 = {
            'field': 'urgency',
            'operator': 'in',
            'value': '2'
        }
        filter_condition2 = {
            'field': 'urgency',
            'operator': 'in',
            'value': '1'
        }
        filter_condition3 = {
            'field': 'headline',
            'operator': 'like',
            'value': 'tor'
        }
        filter_condition4 = {
            'field': 'urgency',
            'operator': 'nin',
            'value': '3'
        }

        with self.app.app_context():
            cmd = VocabulariesPopulateCommand()
            filename = os.path.join(
                os.path.abspath(
                    os.path.dirname(
                        "apps/prepopulate/data_initialization/vocabularies.json"
                    )), "vocabularies.json")
            cmd.run(filename)
            self.assertTrue(
                len(
                    self.s._get_subscribers_by_filter_condition(
                        filter_condition1)) == 1)
            self.assertTrue(
                len(
                    self.s._get_subscribers_by_filter_condition(
                        filter_condition2)) == 0)
            self.assertTrue(
                len(
                    self.s._get_subscribers_by_filter_condition(
                        filter_condition3)) == 2)
            self.assertTrue(
                len(
                    self.s._get_subscribers_by_filter_condition(
                        filter_condition4)) == 1)
Exemple #7
0
 def test_check_similar(self):
     f = get_resource_service('filter_conditions')
     filter_condition1 = {
         'field': 'urgency',
         'operator': 'in',
         'value': '2'
     }
     filter_condition2 = {
         'field': 'urgency',
         'operator': 'in',
         'value': '3'
     }
     filter_condition3 = {
         'field': 'urgency',
         'operator': 'in',
         'value': '1'
     }
     filter_condition4 = {
         'field': 'urgency',
         'operator': 'in',
         'value': '5'
     }
     filter_condition5 = {
         'field': 'urgency',
         'operator': 'nin',
         'value': '5'
     }
     filter_condition6 = {
         'field': 'headline',
         'operator': 'like',
         'value': 'tor'
     }
     with self.app.app_context():
         cmd = VocabulariesPopulateCommand()
         filename = os.path.join(
             os.path.abspath(
                 os.path.dirname(
                     "apps/prepopulate/data_init/vocabularies.json")),
             "vocabularies.json")
         cmd.run(filename)
         self.assertTrue(len(f.check_similar(filter_condition1)) == 2)
         self.assertTrue(len(f.check_similar(filter_condition2)) == 1)
         self.assertTrue(len(f.check_similar(filter_condition3)) == 0)
         self.assertTrue(len(f.check_similar(filter_condition4)) == 3)
         self.assertTrue(len(f.check_similar(filter_condition5)) == 1)
         self.assertTrue(len(f.check_similar(filter_condition6)) == 1)
Exemple #8
0
def setup_before_scenario(context, scenario, config, app_factory):
    if scenario.status != 'skipped' and 'notesting' in scenario.tags:
        config['SUPERDESK_TESTING'] = False

    tests.setup(context, config, app_factory, bool(config))

    if context.app:
        # reset to False.
        context.app.config.update({'NO_TAKES': False})

    context.headers = [('Content-Type', 'application/json'),
                       ('Origin', 'localhost')]

    if 'dbauth' in scenario.tags and LDAP_SERVER:
        scenario.mark_skipped()

    if 'ldapauth' in scenario.tags and not LDAP_SERVER:
        scenario.mark_skipped()

    if 'amazons3' in scenario.tags and not context.app.config.get(
            'AMAZON_CONTAINER_NAME', None):
        scenario.mark_skipped()

    if 'alchemy' in scenario.tags and not context.app.config.get(
            'KEYWORDS_KEY_API'):
        scenario.mark_skipped()

    if 'clean_snapshots' in scenario.tags:
        tests.use_snapshot.cache.clear()

    setup_search_provider(context.app)

    if scenario.status != 'skipped' and 'auth' in scenario.tags:
        setup_auth_user(context)

    if scenario.status != 'skipped' and 'provider' in scenario.tags:
        setup_providers(context)

    if scenario.status != 'skipped' and 'vocabulary' in scenario.tags:
        with context.app.app_context():
            cmd = VocabulariesPopulateCommand()
            filename = os.path.join(
                os.path.abspath(os.path.dirname("features/steps/fixtures/")),
                "vocabularies.json")
            cmd.run(filename)

    if scenario.status != 'skipped' and 'content_type' in scenario.tags:
        with context.app.app_context():
            cmd = VocabulariesPopulateCommand()
            filename = os.path.join(
                os.path.abspath(os.path.dirname("features/steps/fixtures/")),
                "content_types.json")
            cmd.run(filename)

    if scenario.status != 'skipped' and 'notification' in scenario.tags:
        tests.setup_notification(context)
    def test_get_subscribers_by_filter_condition(self):
        filter_condition1 = {"field": "urgency", "operator": "in", "value": "2"}
        filter_condition2 = {"field": "urgency", "operator": "in", "value": "1"}
        filter_condition3 = {"field": "headline", "operator": "like", "value": "tor"}
        filter_condition4 = {"field": "urgency", "operator": "nin", "value": "3"}

        with self.app.app_context():
            cmd = VocabulariesPopulateCommand()
            filename = os.path.join(
                os.path.abspath(os.path.dirname("apps/prepopulate/data_initialization/vocabularies.json")),
                "vocabularies.json",
            )
            cmd.run(filename)
            self.assertTrue(len(self.s._get_subscribers_by_filter_condition(filter_condition1)) == 1)
            self.assertTrue(len(self.s._get_subscribers_by_filter_condition(filter_condition2)) == 0)
            self.assertTrue(len(self.s._get_subscribers_by_filter_condition(filter_condition3)) == 2)
            self.assertTrue(len(self.s._get_subscribers_by_filter_condition(filter_condition4)) == 1)
 def test_check_similar(self):
     f = superdesk.get_resource_service('filter_conditions')
     filter_condition1 = {'field': 'urgency', 'operator': 'in', 'value': '2'}
     filter_condition2 = {'field': 'urgency', 'operator': 'in', 'value': '3'}
     filter_condition3 = {'field': 'urgency', 'operator': 'in', 'value': '1'}
     filter_condition4 = {'field': 'urgency', 'operator': 'in', 'value': '5'}
     filter_condition5 = {'field': 'urgency', 'operator': 'nin', 'value': '5'}
     filter_condition6 = {'field': 'headline', 'operator': 'like', 'value': 'tor'}
     with self.app.app_context():
         cmd = VocabulariesPopulateCommand()
         filename = os.path.join(os.path.abspath(
             os.path.dirname("apps/prepopulate/data_initialization/vocabularies.json")), "vocabularies.json")
         cmd.run(filename)
         self.assertTrue(len(f.check_similar(filter_condition1)) == 2)
         self.assertTrue(len(f.check_similar(filter_condition2)) == 1)
         self.assertTrue(len(f.check_similar(filter_condition3)) == 0)
         self.assertTrue(len(f.check_similar(filter_condition4)) == 3)
         self.assertTrue(len(f.check_similar(filter_condition5)) == 1)
         self.assertTrue(len(f.check_similar(filter_condition6)) == 1)
Exemple #11
0
def setup_before_scenario(context, scenario, config, app_factory):
    if scenario.status != 'skipped' and 'notesting' in scenario.tags:
        config['SUPERDESK_TESTING'] = False

    # TODO: Temp fix for DATE_FORMAT. This will be removed when superdesk will allow to specify custom test settings.
    config['DATE_FORMAT'] = DATE_FORMAT

    tests.setup(context, config, app_factory, bool(config))

    context.headers = [('Content-Type', 'application/json'),
                       ('Origin', 'localhost')]

    if 'amazons3' in scenario.tags and not context.app.config.get(
            'AMAZON_CONTAINER_NAME', None):
        scenario.mark_skipped()

    if 'alchemy' in scenario.tags and not context.app.config.get(
            'KEYWORDS_KEY_API'):
        scenario.mark_skipped()

    if 'clean_snapshots' in scenario.tags:
        tests.use_snapshot.cache.clear()

    setup_search_provider(context.app)

    if scenario.status != 'skipped' and 'auth' in scenario.tags:
        setup_auth_user(context)

    if scenario.status != 'skipped' and 'consumer_auth' in scenario.tags:
        setup_auth_consumer(context, test_consumer)

    if scenario.status != 'skipped' and 'provider' in scenario.tags:
        setup_providers(context)

    if scenario.status != 'skipped' and 'vocabulary' in scenario.tags:
        with context.app.app_context():
            cmd = VocabulariesPopulateCommand()
            filename = os.path.join(
                os.path.abspath(os.path.dirname("features/steps/fixtures/")),
                "vocabularies.json")
            cmd.run(filename)

    if scenario.status != 'skipped' and 'content_type' in scenario.tags:
        with context.app.app_context():
            cmd = VocabulariesPopulateCommand()
            filename = os.path.join(
                os.path.abspath(os.path.dirname("features/steps/fixtures/")),
                "content_types.json")
            cmd.run(filename)

    if scenario.status != 'skipped' and 'notification' in scenario.tags:
        tests.setup_notification(context)
Exemple #12
0
    def setUp(self):
        super().setUp()
        # we need to prepopulate vocabularies to get qcodes
        voc_file = os.path.join(os.path.abspath(os.path.dirname(settings.__file__)), "data/vocabularies.json")
        VocabulariesPopulateCommand().run(voc_file)

        # settings are needed in order to get into account NITF_MAPPING
        for key in dir(settings):
            if key.isupper():
                setattr(config, key, getattr(settings, key))
        dirname = os.path.dirname(os.path.realpath(__file__))
        fixture = os.path.normpath(os.path.join(dirname, '../fixtures', self.filename))
        provider = {'name': 'Test'}
        with open(fixture) as f:
            self.nitf = f.read()
            self.item = NITFFeedParser().parse(etree.fromstring(self.nitf), provider)
Exemple #13
0
def setup_before_scenario(context, scenario, config, app_factory):
    if scenario.status != 'skipped' and 'notesting' in scenario.tags:
        config['SUPERDESK_TESTING'] = False
    tests.setup(context, config, app_factory, bool(config))

    context.headers = [
        ('Content-Type', 'application/json'),
        ('Origin', 'localhost')
    ]

    if 'dbauth' in scenario.tags and LDAP_SERVER:
        scenario.mark_skipped()

    if 'ldapauth' in scenario.tags and not LDAP_SERVER:
        scenario.mark_skipped()

    if 'amazons3' in scenario.tags and not context.app.config.get('AMAZON_CONTAINER_NAME', None):
        scenario.mark_skipped()

    if 'alchemy' in scenario.tags and not context.app.config.get('KEYWORDS_KEY_API'):
        scenario.mark_skipped()

    if 'clean_snapshots' in scenario.tags:
        tests.use_snapshot.cache.clear()

    setup_search_provider(context.app)

    if scenario.status != 'skipped' and 'auth' in scenario.tags:
        setup_auth_user(context)

    if scenario.status != 'skipped' and 'provider' in scenario.tags:
        setup_providers(context)

    if scenario.status != 'skipped' and 'vocabulary' in scenario.tags:
        with context.app.app_context():
            cmd = VocabulariesPopulateCommand()
            filename = os.path.join(os.path.abspath(os.path.dirname("features/steps/fixtures/")), "vocabularies.json")
            cmd.run(filename)

    if scenario.status != 'skipped' and 'content_type' in scenario.tags:
        with context.app.app_context():
            cmd = VocabulariesPopulateCommand()
            filename = os.path.join(os.path.abspath(os.path.dirname("features/steps/fixtures/")), "content_types.json")
            cmd.run(filename)

    if scenario.status != 'skipped' and 'notification' in scenario.tags:
        tests.setup_notification(context)
def setup_before_scenario(context, scenario, config, app_factory):
    if scenario.status != "skipped" and "notesting" in scenario.tags:
        config["SUPERDESK_TESTING"] = False
    tests.setup(context, config, app_factory, bool(config))

    context.headers = [("Content-Type", "application/json"), ("Origin", "localhost")]

    if "dbauth" in scenario.tags and LDAP_SERVER:
        scenario.mark_skipped()

    if "ldapauth" in scenario.tags and not LDAP_SERVER:
        scenario.mark_skipped()

    if "amazons3" in scenario.tags and not context.app.config.get("AMAZON_CONTAINER_NAME", None):
        scenario.mark_skipped()

    if "alchemy" in scenario.tags and not context.app.config.get("KEYWORDS_KEY_API"):
        scenario.mark_skipped()

    setup_search_provider(context.app)

    if scenario.status != "skipped" and "auth" in scenario.tags:
        setup_auth_user(context)

    if scenario.status != "skipped" and "provider" in scenario.tags:
        setup_providers(context)

    if scenario.status != "skipped" and "vocabulary" in scenario.tags:
        with context.app.app_context():
            cmd = VocabulariesPopulateCommand()
            filename = os.path.join(os.path.abspath(os.path.dirname("features/steps/fixtures/")), "vocabularies.json")
            cmd.run(filename)

    if scenario.status != "skipped" and "content_type" in scenario.tags:
        with context.app.app_context():
            cmd = VocabulariesPopulateCommand()
            filename = os.path.join(os.path.abspath(os.path.dirname("features/steps/fixtures/")), "content_types.json")
            cmd.run(filename)

    if scenario.status != "skipped" and "notification" in scenario.tags:
        tests.setup_notification(context)
 def setUp(self):
     super().setUp()
     self.service = ArchiveCropService()
     VocabulariesPopulateCommand().run(
         os.path.abspath(
             'apps/prepopulate/data_initialization/vocabularies.json'))