Beispiel #1
0
    def test_load_lookup_tables(self, mock_logger):
        """Rules Engine - Load lookup table"""
        s3_mock = mock_s3()
        s3_mock.start()
        put_mock_s3_object('bucket_name', 'foo.json',
                           json.dumps({'key1': 'value1'}), 'us-east-1')
        put_mock_s3_object('bucket_name', 'bar.json',
                           json.dumps({'key2': 'value2'}), 'us-east-1')
        self.config['global']['infrastructure']['lookup_tables'][
            'enabled'] = True
        _ = RulesEngine(self.config)
        assert_equal(RulesEngine.get_lookup_table('foo'), {'key1': 'value1'})
        assert_equal(RulesEngine.get_lookup_table('bar'), {'key2': 'value2'})
        assert_equal(RulesEngine.get_lookup_table('not_exist'), None)

        _ = RulesEngine(self.config)
        mock_logger.assert_called()

        s3_mock.stop()
Beispiel #2
0
    def test_load_lookup_tables_missing_config(self, mock_logger):
        """Rules Engine - Load lookup tables with missing config"""
        self.config['global']['infrastructure'].pop('lookup_tables')
        _ = RulesEngine(self.config)
        assert_equal(RulesEngine._LOOKUP_TABLES, {})
        assert_equal(LookupTables._LOOKUP_TABLES_LAST_REFRESH,
                     datetime(year=1970, month=1, day=1))
        assert_equal(RulesEngine.get_lookup_table('table_name'), None)

        self.config['global']['infrastructure']['lookup_tables'] = {
            'cache_refresh_minutes': 10,
            'enabled': True
        }
        _ = RulesEngine(self.config)
        mock_logger.assert_called_with('Buckets not defined')