def test_import_fill_levels(self, fetch_mock, get_token_mock):
        with open(FIX_DIR + "/enevo/fixtures/fill_levels.json") as fill_levels:
            fill_levels_json = json.loads(fill_levels.read())

        mr = MockResponseAsync()
        mr._json = fill_levels_json

        # we retry failed urls, so extra side effects needed.
        fetch_mock.side_effect = 10 * [mr]
        get_token_mock.side_effect = 10 * ['test_token']

        slurp.start_import('fill_levels', make_engine=False)
        count = session.query(models.EnevoFillLevelRaw).count()
        self.assertEqual(count, 10)

        slurp.start_import('fill_levels', make_engine=False)
        convert_live_raw.main(make_engine=False)
        count = session.query(models.EnevoFillLevel).count()
        self.assertEqual(count, 20)
    def test_import_containers(self, fetch_mock, get_token_mock):
        with open(FIX_DIR + "/enevo/fixtures/containers.json") as containers:
            containers_json = json.loads(containers.read())

        mr = MockResponse()
        mr._json = containers_json
        fetch_mock.side_effect = [mr]
        get_token_mock.side_effect = ['test_token']

        slurp.start_import('containers', make_engine=False)
        count = session.query(models.EnevoContainer).count()
        self.assertEqual(count, 2)

        fetch_mock.side_effect = [mr]
        get_token_mock.side_effect = ['test_token']

        slurp.start_import('containers', make_engine=False)
        count = session.query(models.EnevoContainer).count()
        self.assertEqual(count, 2)
    def test_import_site_content_types(self, fetch_mock, get_token_mock):
        path = "/enevo/fixtures/site_content_types.json"
        with open(FIX_DIR + path) as site_content_types:
            site_content_types_json = json.loads(site_content_types.read())

        mr = MockResponse()
        mr._json = site_content_types_json
        fetch_mock.side_effect = [mr]
        get_token_mock.side_effect = ['test_token']

        slurp.start_import(endpoint='site_content_types', make_engine=False)
        count = session.query(models.EnevoSiteContentType).count()
        self.assertEqual(count, 2)

        fetch_mock.side_effect = [mr]
        get_token_mock.side_effect = ['test_token']

        slurp.start_import(endpoint='site_content_types', make_engine=False)
        count = session.query(models.EnevoSiteContentType).count()
        self.assertEqual(count, 2)