From eb723af5ce2787dd864c97d44767cbf9bc73076b Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Mon, 26 Oct 2020 23:09:37 +0100 Subject: Do not hardcode test ids inside tests --- api/opendc/util/database.py | 23 ++++------------------- api/opendc/util/path_parser.py | 5 +---- api/opendc/util/rest.py | 2 +- 3 files changed, 6 insertions(+), 24 deletions(-) (limited to 'api/opendc/util') diff --git a/api/opendc/util/database.py b/api/opendc/util/database.py index 80cdcbab..dd26533d 100644 --- a/api/opendc/util/database.py +++ b/api/opendc/util/database.py @@ -1,8 +1,6 @@ -import json import urllib.parse from datetime import datetime -from bson.json_util import dumps from pymongo import MongoClient DATETIME_STRING_FORMAT = '%Y-%m-%dT%H:%M:%S' @@ -31,32 +29,25 @@ class Database: The query needs to be in json format, i.e.: `{'name': prefab_name}`. """ - bson = getattr(self.opendc_db, collection).find_one(query) - - return self.convert_bson_to_json(bson) + return getattr(self.opendc_db, collection).find_one(query) def fetch_all(self, query, collection): """Uses existing mongo connection to return all documents matching a given query, as a list of JSON objects. The query needs to be in json format, i.e.: `{'name': prefab_name}`. """ - results = [] cursor = getattr(self.opendc_db, collection).find(query) - for doc in cursor: - results.append(self.convert_bson_to_json(doc)) - return results + return list(cursor) def insert(self, obj, collection): """Updates an existing object.""" bson = getattr(self.opendc_db, collection).insert(obj) - return self.convert_bson_to_json(bson) + return bson def update(self, _id, obj, collection): """Updates an existing object.""" - bson = getattr(self.opendc_db, collection).update({'_id': _id}, obj) - - return self.convert_bson_to_json(bson) + return getattr(self.opendc_db, collection).update({'_id': _id}, obj) def delete_one(self, query, collection): """Deletes one object matching the given query. @@ -72,12 +63,6 @@ class Database: """ getattr(self.opendc_db, collection).delete_many(query) - @staticmethod - def convert_bson_to_json(bson): - """Converts a BSON representation to JSON and returns the JSON representation.""" - json_string = dumps(bson) - return json.loads(json_string) - @staticmethod def datetime_to_string(datetime_to_convert): """Return a database-compatible string representation of the given datetime object.""" diff --git a/api/opendc/util/path_parser.py b/api/opendc/util/path_parser.py index a8bbdeba..c8452f20 100644 --- a/api/opendc/util/path_parser.py +++ b/api/opendc/util/path_parser.py @@ -31,9 +31,6 @@ def parse(version, endpoint_path): for (name, value) in zip(path, endpoint_path_parts): if name.startswith('{'): - try: - parameters[name.strip('{}')] = int(value) - except: - parameters[name.strip('{}')] = value + parameters[name.strip('{}')] = value return '{}/{}'.format(version, '/'.join(path)), parameters diff --git a/api/opendc/util/rest.py b/api/opendc/util/rest.py index abd2f3de..c9e98295 100644 --- a/api/opendc/util/rest.py +++ b/api/opendc/util/rest.py @@ -138,4 +138,4 @@ class Response: if self.content is not None: data['content'] = self.content - return json.dumps(data) + return json.dumps(data, default=str) -- cgit v1.2.3