Exemplo n.º 1
0
 def validate_config(self) -> bool:
     """TODO"""
     response = get('{}.json'.format(self.base_url()))
     is_valid = response is not None and response.status_code == HttpCode.OK
     if is_valid:
         self.current_state = response.body if response.body and response.body != 'null' else None
     return is_valid
Exemplo n.º 2
0
 def test_should_get_from_server(self):
     expected_code = HttpCode.OK
     expected_resp = '{"name":"Mock Server"}'
     self.mock_server \
         .when_request(HttpMethod.GET, '/get') \
         .then_return(code=expected_code, body=expected_resp)
     resp = get('localhost:{}/get'.format(self.mock_server.port))
     self.assertEqual(expected_code, resp.status_code)
     assert resp, "Response is empty or None"
     self.assertEqual(expected_resp, resp.body)
Exemplo n.º 3
0
    def find_all(self, filters: CaseInsensitiveDict = None) -> Optional[list]:
        """TODO"""
        url = '{}.json?orderBy="$key"'.format(self.config.base_url())
        log.debug('Fetching firebase entries from {}'.format(url))
        response = get(url)
        assert response, "Response is empty"
        if response.status_code != HttpCode.OK:
            raise HTTPError('{} - Unable to get from={}'.format(
                response.status_code, url))

        return self.to_list(response.body, filters) if response.body else []
Exemplo n.º 4
0
    def download_files(url: str, destination_dir: str) -> int:
        """Download files from URL"""
        assert destination_dir and os.path.exists(destination_dir), "Unable find destination directory: {}" \
            .format(destination_dir)
        response = get(url)
        assert response and response.body, "Response or response body is empty"
        if response.status_code != HttpCode.OK:
            raise HTTPError(
                '{} - Unable to download from={} with response={}'.format(
                    response.status_code, url, response))
        file_data = FileProcessor._from_json(response.body)
        FileProcessor._decode_and_write(destination_dir, file_data)

        return len(file_data)
Exemplo n.º 5
0
    def find_by_id(self, entity_id: str) -> Optional[CrudEntity]:
        """TODO"""
        url = '{}.json?orderBy="$key"&equalTo="{}"'.format(
            self.config.base_url(), entity_id)
        log.debug('Fetching firebase entry entity_id={} from {}'.format(
            entity_id, url))
        response = get(url)
        assert response, "Response is empty"
        if response.status_code != HttpCode.OK:
            raise HTTPError('{} - Unable to get from={}'.format(
                response.status_code, url))
        result = self.to_list(response.body) if response.body else []
        assert len(
            result) <= 1, "Multiple results found with entity_id={}".format(
                entity_id)

        return result[0] if len(result) > 0 else None
Exemplo n.º 6
0
 def _download_ext(self, extension: str) -> None:
     """Download a gradle extension from the HSPyLib repository"""
     resp = get(f'https://raw.githubusercontent.com/yorevs/hspylib/master/gradle/{extension}')
     assert resp.status_code == HttpCode.OK, f'Unable to download {extension}'
     self._mkfile(f'gradle/{extension}', resp.body)