Exemple #1
0
    def test_get_page_without_userconfig(self):
        config = configparser.ConfigParser()
        config['domopyc'] = {'title' : 'title'}
        server_without_user_config = yield from domopyc_server.init(self.loop, self.pool, port=12346, config=config)
        resp = yield from aiohttp.request('GET', 'http://127.0.0.1:12346/menu/apropos', allow_redirects=False)

        self.assertEqual(200, resp.status)
        server_without_user_config.close()
Exemple #2
0
    def setUp(self):
        self.pool = yield from aiomysql.create_pool(host='127.0.0.1', port=3306,
                                                    user='******', password='******', db='test',
                                                    loop=asyncio.get_event_loop())

        config = configparser.ConfigParser()
        config['users'] = {'foo': hashlib.sha224('pass'.encode()).hexdigest()}
        config['domopyc'] = {'title': 'title'}

        self.server = yield from domopyc_server.init(self.loop, self.pool, port=12345, config=config)
    def setUp(self):
        self.pool = yield from aiomysql.create_pool(host='127.0.0.1', port=3306,
                                                    user='******', password='******', db='test',
                                                    loop=asyncio.get_event_loop())

        self.server = yield from domopyc_server.init(asyncio.get_event_loop(), self.pool, port=12345)
        self.message_handler = MysqlCurrentCostMessageHandler(self.pool)
        with (yield from self.pool) as conn:
            cur = yield from conn.cursor()
            yield from cur.execute("truncate current_cost")
            yield from cur.close()
Exemple #4
0
    def test_get_page_without_userconfig(self):
        config = configparser.ConfigParser()
        config['domopyc'] = {'title': 'title'}
        server_without_user_config = yield from domopyc_server.init(
            self.loop, self.pool, port=12346, config=config)
        resp = yield from aiohttp.request(
            'GET',
            'http://127.0.0.1:12346/menu/apropos',
            allow_redirects=False)

        self.assertEqual(200, resp.status)
        server_without_user_config.close()
 def setUp(self):
     yield from super().setUp()
     self.pool = yield from aiomysql.create_pool(
         host='127.0.0.1',
         port=3306,
         user='******',
         password='******',
         db='test',
         loop=asyncio.get_event_loop())
     self.server = yield from domopyc_server.init(
         asyncio.get_event_loop(),
         mysql_pool=self.pool,
         port=12345,
         config=configparser.ConfigParser())
Exemple #6
0
    def setUp(self):
        self.pool = yield from aiomysql.create_pool(
            host='127.0.0.1',
            port=3306,
            user='******',
            password='******',
            db='test',
            loop=asyncio.get_event_loop())

        config = configparser.ConfigParser()
        config['users'] = {'foo': hashlib.sha224('pass'.encode()).hexdigest()}
        config['domopyc'] = {'title': 'title'}

        self.server = yield from domopyc_server.init(self.loop,
                                                     self.pool,
                                                     port=12345,
                                                     config=config)
Exemple #7
0
    def setUp(self):
        self.pool = yield from aiomysql.create_pool(
            host='127.0.0.1',
            port=3306,
            user='******',
            password='******',
            db='test',
            loop=asyncio.get_event_loop())

        self.server = yield from domopyc_server.init(asyncio.get_event_loop(),
                                                     self.pool,
                                                     port=12345)
        self.message_handler = MysqlCurrentCostMessageHandler(self.pool)
        with (yield from self.pool) as conn:
            cur = yield from conn.cursor()
            yield from cur.execute("truncate current_cost")
            yield from cur.close()
Exemple #8
0
@asyncio.coroutine
def run_application(mysq_pool, config):
     # backend
    redis_pool_ = yield from create_redis_pool()
    daq_rfxcom = yield from create_rfxtrx433e(config['rfxcom'])
    current_cost = create_current_cost(redis_pool_, config['current_cost'])
    current_cost_recorder = AsyncRedisSubscriber(redis_pool_,
                                                 MysqlCurrentCostMessageHandler(mysq_pool, average_period_minutes=10),
                                                 CURRENT_COST_KEY).start()
    pool_temp_recorder = AsyncRedisSubscriber(redis_pool_,
                                                  MysqlTemperatureMessageHandler(mysq_pool, 'pool_temperature', average_period_minutes=10),
                                                  RFXCOM_KEY).start()


if __name__ == '__main__':
    config = configparser.ConfigParser()
    config.read(os.path.dirname(__file__) + '/domopyc.conf')

    sslcontext = None
    if 'sslcontext' in config:
        sslcontext = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
        sslcontext.load_cert_chain(config['sslcontext']['crt_file'], config['sslcontext']['key_file'])

    loop = asyncio.get_event_loop()
    pool = loop.run_until_complete(create_mysql_pool(config['mysql']))
    keep_alive = KeepAliveService(pool, loop).start()
    loop.run_until_complete(init(loop, pool, config=config, sslcontext=sslcontext))
    asyncio.async(run_application(pool, config))
    loop.run_forever()
 def setUp(self):
     yield from super().setUp()
     self.pool = yield from aiomysql.create_pool(host='127.0.0.1', port=3306,
                                                         user='******', password='******', db='test',
                                                         loop=asyncio.get_event_loop())
     self.server = yield from domopyc_server.init(asyncio.get_event_loop(), mysql_pool=self.pool, port=12345, config=configparser.ConfigParser())
Exemple #10
0
    current_cost = create_current_cost(redis_pool_, config['current_cost'])
    current_cost_recorder = AsyncRedisSubscriber(
        redis_pool_,
        MysqlCurrentCostMessageHandler(mysq_pool, average_period_minutes=10),
        CURRENT_COST_KEY).start()
    pool_temp_recorder = AsyncRedisSubscriber(
        redis_pool_,
        MysqlTemperatureMessageHandler(mysq_pool,
                                       'pool_temperature',
                                       average_period_minutes=10),
        RFXCOM_KEY).start()


if __name__ == '__main__':
    config = configparser.ConfigParser()
    config.read(os.path.dirname(__file__) + '/domopyc.conf')

    sslcontext = None
    if 'sslcontext' in config:
        sslcontext = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
        sslcontext.load_cert_chain(config['sslcontext']['crt_file'],
                                   config['sslcontext']['key_file'])

    loop = asyncio.get_event_loop()
    pool = loop.run_until_complete(create_mysql_pool(config['mysql']))
    keep_alive = KeepAliveService(pool, loop).start()
    loop.run_until_complete(
        init(loop, pool, config=config, sslcontext=sslcontext))
    asyncio. async (run_application(pool, config))
    loop.run_forever()