def test_mongots_client_init_succeeds_when_args_are_provided(self): mongots.client.MongoClient = mongomock.MongoClient mongots_client = mongots.MongoTSClient('toto.fr', 66666) self.assertIsInstance(mongots_client._client, mongomock.MongoClient) self.assertEqual(mongots_client._client.address, ('toto.fr', 66666))
def test_magic_get_database_returns_a_database(self): mongots_client = mongots.MongoTSClient( mongo_client=mongomock.MongoClient(), ) mongots_database = mongots_client.TestDb self.assertIsNotNone(mongots_database) self.assertIsInstance(mongots_database._database, mongomock.Database) self.assertEqual(mongots_database._database.name, 'TestDb')
def test_mongots_client_init_succeeds_when_mongo_client_is_provided(self): mongots.client.MongoClient = MagicMock() mocked_mongo_client = mongomock.MongoClient() mongots_client = mongots.MongoTSClient( mongo_client=mocked_mongo_client, ) self.assertIsInstance(mongots_client._client, mongomock.MongoClient) self.assertEqual(mongots_client._client, mocked_mongo_client) mongots.client.MongoClient.assert_not_called()
def test_magic_get_collection_returns_a_collection(self): mongots_collection = mongots.MongoTSClient( mongo_client=mongomock.MongoClient(), ).TestDb.temperature self.assertIsNotNone(mongots_collection) self.assertIsInstance( mongots_collection._collection, mongomock.Collection, ) self.assertEqual(mongots_collection._collection.name, 'temperature')
def test_get_collection_returns_a_collection(self): mongots_client = mongots.MongoTSClient( mongo_client=mongomock.MongoClient()) mongots_database = mongots_client.get_database('TestDb') mongots_collection = mongots_database.get_collection('temperature') self.assertIsNotNone(mongots_collection) self.assertIsInstance( mongots_collection._collection, mongomock.Collection, ) self.assertEqual(mongots_collection._collection.name, 'temperature')
def test_mongots_collection_has_a_metadata_collection(self): mongots_collection = mongots.MongoTSClient( mongo_client=mongomock.MongoClient(), ).TestDb.temperature self.assertIsNotNone(mongots_collection) self.assertIsInstance( mongots_collection._metadata, mongots.metadata.MongoTSMetadata, ) self.assertEqual( mongots_collection._metadata._metadata_collection.name, 'mongots__metadata', )
def test_magic_get_collection_fails_for_invalid_name(self): with self.assertRaises(AttributeError): mongots.MongoTSClient( mongo_client=mongomock.MongoClient(), ).TestDb._temperature
def test_magic_get_database_fails_for_invalid_name(self): with self.assertRaises(AttributeError): mongots.MongoTSClient( mongo_client=mongomock.MongoClient(), )._test_db.temperature
def client(): return mongots.MongoTSClient(mongo_client=mongo_client)
def setUp(self): self.mongots_collection = mongots.MongoTSClient( mongo_client=mongomock.MongoClient(), ).TestDb.temperatures
import dash import dash_core_components as dcc import dash_html_components as html import plotly.graph_objs as go from datetime import timedelta from time import time import mongots MONGOTS_DB = 'WeatherData' MONGOTS_COLLECTION = 'cityAndStationTemperatures' mongots_collection = mongots.MongoTSClient() \ .get_database(MONGOTS_DB) \ .get_collection(MONGOTS_COLLECTION) min_date, max_date = mongots_collection.get_timerange() days_in_range = (max_date - min_date).days tags = mongots_collection.get_tags() start_end_datepicker_range = dcc.RangeSlider( id='date-picker-range', value=[0, days_in_range], min=0, max=days_in_range, ) aggregateby_interval_dropdown = dcc.Dropdown( id='aggregateby_interval',