def test_end_date_only(self):
        # Set up a configuration with an end date, and the expected return
        self.repo_config[constants.END_DATE_KEYWORD] = self.test_date
        config = PluginCallConfiguration({}, self.repo_config)
        expected_filter = {export_utils.ASSOCIATED_UNIT_DATE_KEYWORD: {'$lte': self.test_date}}

        # Test
        date_filter = export_utils.create_date_range_filter(config)
        self.assertEqual(expected_filter, date_filter)
    def test_start_and_end_date(self):
        # Set up a configuration with both a start date and an end date.
        self.repo_config[constants.START_DATE_KEYWORD] = self.test_date
        self.repo_config[constants.END_DATE_KEYWORD] = self.test_date
        config = PluginCallConfiguration({}, self.repo_config)
        expected_filter = {export_utils.ASSOCIATED_UNIT_DATE_KEYWORD: {'$gte': self.test_date,
                                                                       '$lte': self.test_date}}

        # Test
        date_filter = export_utils.create_date_range_filter(config)
        self.assertEqual(expected_filter, date_filter)
 def test_no_filter(self):
     # Test calling create_date_range_filter with no dates in the configuration
     date = export_utils.create_date_range_filter(PluginCallConfiguration({}, self.repo_config))
     self.assertTrue(date is None)