Skip to content
Snippets Groups Projects
Select Git revision
  • 4d417b6458296b1156b7f1e5db6bca05e1e049f5
  • main default protected
  • OZG-7856_schadcode_scanner
  • OZG-8314-Alfa-Vorgang-Bearbeiter-Zuweisung-entfernen
  • OZG-8305-Create-webpack-sbom
  • tooltip-improvements
  • release-info
  • release-administration
  • release
  • OZG-7714-UpgradeKeycloakDependencyTo25
  • OZG-8086-Admin-Datenanfrage-erstellen
  • OZG-8086-Datenanfrage-Umbenennung
  • mongodb-7-0-16-e2e
  • OZG-6220-Bescheid-speichern-ohne-Postfach
  • OZG-7922-KeycloakOperatorExceptions
  • OZG-8142-poc-cards
  • OZG-8086-E2E
  • OZG-8086-E2E2
  • OZG-8142-ProjectionStuff
  • OZG-8086-Statistik-Datenanfrage-erstellen
  • ovh-poc-add-image-pull-secret
  • 1.11.0-info
  • 1.11.0-administration
  • 2.26.0-alfa
  • 1.10.0-info
  • 1.10.0-administration
  • 2.25.0-alfa
  • 1.9.0-info
  • 1.9.0-administration
  • 2.24.0-alfa
  • 1.8.0-info
  • 1.8.0-administration
  • 2.23.0-alfa
  • 1.7.0-info
  • 1.7.0-administration
  • 2.22.0-alfa
  • 1.6.0-info
  • 1.6.0-administration
  • 2.21.0-alfa
  • 1.5.0-info
  • 1.5.0-administration
41 results

run_helm_test.sh

Blame
  • test_search.py 5.82 KiB
    import ckanext.odsh.search as search
    import unittest
    
    class Test_before_dataset_search(unittest.TestCase):
        def setUp(self):
            self.search_params_before_test = {
                'extras': {}, 
                'facet.field': ['organization', 'groups'], 
                'fq': 'organization:"test-organisation" groups:"gove" +dataset_type:dataset', 
                'include_private': True, 
                'q': '', 
                'rows': 20, 
                'sort': 'score desc, metadata_modified desc', 
                'start': 0
            }
            self.search_params_with_facet_mincount = self.search_params_before_test.copy()
            self.search_params_with_facet_mincount.update({'facet.mincount': 0})
        
        def test_it_solely_adds_facet_mincount_to_dict_if_no_extras(self):
            # arange
            search_params = self.search_params_before_test.copy()
            # act
            search.before_dataset_search(search_params)
            # assert
            search_params_expected = self.search_params_with_facet_mincount.copy()
            assert search_params == search_params_expected
    
        def test_it_adds_fq_if_empty_range(self):
            # arange
            search_params = self.search_params_before_test.copy()
            extras = {'ext_enddate': '2019-08-01', 'ext_startdate': '2019-08-02'}
            search_params.update({'extras': extras})
            search_params_expected = self.search_params_with_facet_mincount.copy()
            search_params_expected.update({'extras': extras})
            search_params_expected.update({
                'fq': (
                    'organization:"test-organisation" groups:"gove" '
                    '+dataset_type:dataset (+extras_temporal_start:[2019-08-02T00:00:00Z TO 2019-08-01T00:00:00Z] '
                    'OR +extras_temporal_end:[2019-08-02T00:00:00Z TO 2019-08-01T00:00:00Z]  OR '
                    '((*:* NOT extras_temporal_end:[* TO *]) AND extras_temporal_start:[* TO 2019-08-01T00:00:00Z]))'
                )
            })
            # act
            search.before_dataset_search(search_params)
            # assert
            assert search_params == search_params_expected
        
        def test_it_solely_adds_facet_mincount_to_dict_if_wrong_date_format_in_extras(self):
            # arange
            search_params = self.search_params_before_test.copy()
            extras = {'ext_enddate': 'some_date', 'ext_startdate': 'some_date'}
            search_params.update({'extras': extras})
            search_params_expected = self.search_params_with_facet_mincount.copy()
            search_params_expected.update({'extras': extras})
            # act
            search.before_dataset_search(search_params)
            # assert
            assert search_params == search_params_expected
        
        def test_it_adds_fq_if_enclosing_range(self):
            # arange
            search_params = self.search_params_before_test.copy()
            extras = {'ext_enddate': '2019-08-02', 'ext_startdate': '2019-08-01'}
            search_params.update({'extras': extras})
            search_params_expected = self.search_params_with_facet_mincount.copy()
            search_params_expected.update({'extras': extras})
            search_params_expected.update({
                'fq': (
                    'organization:"test-organisation" groups:"gove" '
                    '+dataset_type:dataset '
                    '(+extras_temporal_start:[2019-08-01T00:00:00Z TO 2019-08-02T00:00:00Z] '
                    'OR +extras_temporal_end:[2019-08-01T00:00:00Z TO 2019-08-02T00:00:00Z]  '
                    'OR (extras_temporal_start:[* TO 2019-08-01T00:00:00Z] AND '
                    'extras_temporal_end:[2019-08-02T00:00:00Z TO *]) OR '
                    '((*:* NOT extras_temporal_end:[* TO *]) AND '
                    'extras_temporal_start:[* TO 2019-08-02T00:00:00Z]))'
                )
            })
            # act
            search.before_dataset_search(search_params)
            # assert
            assert search_params == search_params_expected
    
        def test_it_adds_fq_if_start_only(self):
            # arange
            search_params = self.search_params_before_test.copy()
            extras = {'ext_startdate': '2019-08-01'}
            search_params.update({'extras': extras})
            search_params_expected = self.search_params_with_facet_mincount.copy()
            search_params_expected.update({'extras': extras})
            search_params_expected.update({
                'fq': (
                    'organization:"test-organisation" groups:"gove" '
                    '+dataset_type:dataset '
                    '(+extras_temporal_start:[2019-08-01T00:00:00Z TO *] '
                    'OR +extras_temporal_end:[2019-08-01T00:00:00Z TO *]  '
                    'OR (*:* NOT extras_temporal_end:[* TO *]))'
                )
            })
            # act
            search.before_dataset_search(search_params)
            # assert
            assert search_params == search_params_expected
        
        def test_it_adds_fq_if_end_only(self):
            # arange
            search_params = self.search_params_before_test.copy()
            extras = {'ext_enddate': '2019-08-02'}
            search_params.update({'extras': extras})
            search_params_expected = self.search_params_with_facet_mincount.copy()
            search_params_expected.update({'extras': extras})
            search_params_expected.update({
                'fq': (
                    'organization:"test-organisation" groups:"gove" '
                    '+dataset_type:dataset '
                    '(+extras_temporal_start:[* TO 2019-08-02T00:00:00Z] OR '
                    '+extras_temporal_end:[* TO 2019-08-02T00:00:00Z]  '
                    'OR ((*:* NOT extras_temporal_end:[* TO *]) '
                    'AND extras_temporal_start:[* TO 2019-08-02T00:00:00Z]))'
                )
            })
            # act
            search.before_dataset_search(search_params)
            # assert
            assert search_params == search_params_expected
        
        def test_it_returns_search_params(self):
            # arange
            search_params = self.search_params_before_test.copy()
            # act
            return_value = search.before_dataset_search(search_params)
            # assert
            assert search_params == return_value