Example #1
0
    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))
Example #2
0
    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')
Example #3
0
    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()
Example #4
0
    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')
Example #5
0
    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')
Example #6
0
    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',
        )
Example #7
0
 def test_magic_get_collection_fails_for_invalid_name(self):
     with self.assertRaises(AttributeError):
         mongots.MongoTSClient(
             mongo_client=mongomock.MongoClient(), ).TestDb._temperature
Example #8
0
 def test_magic_get_database_fails_for_invalid_name(self):
     with self.assertRaises(AttributeError):
         mongots.MongoTSClient(
             mongo_client=mongomock.MongoClient(), )._test_db.temperature
Example #9
0
def client():
    return mongots.MongoTSClient(mongo_client=mongo_client)
Example #10
0
 def setUp(self):
     self.mongots_collection = mongots.MongoTSClient(
         mongo_client=mongomock.MongoClient(),
     ).TestDb.temperatures
Example #11
0
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',