Ejemplo n.º 1
0
 def test_filter_tests_by_tags_invalid_query(self, _project_with_tags):
     _, project = _project_with_tags.activate()
     with pytest.raises(tags_manager.InvalidTagExpression) as excinfo:
         tags_manager.filter_tests_by_tags(project, _project_with_tags.tests, tags=['foo = 2'])
     expected = ("unknown expression <class '_ast.Assign'>, the only valid "
                 "operators for tag expressions are: 'and', 'or' & 'not'")
     assert expected in str(excinfo.value)
Ejemplo n.º 2
0
 def _filter_tests_by_tags(self):
     tests = []
     try:
         tests = tags_manager.filter_tests_by_tags(self.project, self.tests,
                                                   self.execution.tags)
     except tags_manager.InvalidTagExpression as e:
         print('{}: {}'.format(e.__class__.__name__, e))
         self.execution.has_failed_tests.value = True
     else:
         if len(tests) == 0:
             print("No tests found with tag(s): {}".format(', '.join(self.execution.tags)))
     return tests
Ejemplo n.º 3
0
 def test_filter_tests_by_tags_empty_list(self, _project_with_tags):
     _, project = _project_with_tags.activate()
     filtered = tags_manager.filter_tests_by_tags(project, _project_with_tags.tests,
                                                  tags=[])
     assert filtered == []
Ejemplo n.º 4
0
    def test_filter_tests_by_tags(self, _project_with_tags):
        _, project = _project_with_tags.activate()
        tests = _project_with_tags.tests
        t = _project_with_tags.t

        filtered = tags_manager.filter_tests_by_tags(project, tests, ['alfa', 'bravo'])
        assert filtered == [t.test_alfa_bravo]

        filtered = tags_manager.filter_tests_by_tags(project, tests, ['bravo'])
        assert sorted(filtered) == sorted([t.test_alfa_bravo, t.test_bravo_charlie])

        filtered = tags_manager.filter_tests_by_tags(project, tests, ['alfa and bravo'])
        assert filtered == [t.test_alfa_bravo]

        filtered = tags_manager.filter_tests_by_tags(project, tests, ['"alfa" and "bravo"'])
        assert filtered == [t.test_alfa_bravo]

        filtered = tags_manager.filter_tests_by_tags(project, tests, ['alfa or bravo'])
        assert sorted(filtered) == sorted([t.test_alfa_bravo, t.test_bravo_charlie])

        filtered = tags_manager.filter_tests_by_tags(project, tests, ['bravo and not alfa'])
        assert filtered == [t.test_bravo_charlie]

        filtered = tags_manager.filter_tests_by_tags(project, tests, ['(alfa or bravo) and charlie'])
        assert filtered == [t.test_bravo_charlie]

        filtered = tags_manager.filter_tests_by_tags(project, tests, ['bravo or delta and not charlie'])
        assert sorted(filtered) == sorted([t.test_alfa_bravo, t.test_bravo_charlie, t.test_delta_echo_foxtrot])

        filtered = tags_manager.filter_tests_by_tags(project, tests, ['(bravo or delta) and not charlie'])
        assert sorted(filtered) == sorted([t.test_alfa_bravo, t.test_delta_echo_foxtrot])

        filtered = tags_manager.filter_tests_by_tags(project, tests, ["fox trot"])
        assert sorted(filtered) == sorted([t.test_delta_echo_foxtrot])

        filtered = tags_manager.filter_tests_by_tags(project, tests, ["delta", "fox trot"])
        assert sorted(filtered) == sorted([t.test_delta_echo_foxtrot])

        filtered = tags_manager.filter_tests_by_tags(project, tests, ['"delta" or "fox trot"'])
        assert sorted(filtered) == sorted([t.test_delta_echo_foxtrot])

        filtered = tags_manager.filter_tests_by_tags(project, tests, ['bravo and echo'])
        assert filtered == []