console/src/test.py

57 lines
1.6 KiB
Python

import unittest
import docker
import aiohttp
import asyncio
import server
import time
class TestServer(unittest.IsolatedAsyncioTestCase):
async def testStart(self):
self.container.stop()
time.sleep(5)
async with self.session.post('http://localhost:8080/mc_test/start') as resp:
assert(resp.status == 200)
async def testStop(self):
async with self.session.post('http://localhost:8080/mc_test/stop') as resp:
assert(resp.status == 200)
async def testStatus(self):
async with self.session.post('http://localhost:8080/mc_test/status') as resp:
assert(resp.status == 200)
async def testCommand(self):
async with self.session.post('http://localhost:8080/mc_test/command/c2F5IEhlbGxv') as resp:
assert(resp.status == 200)
async def testLogs(self):
pass
async def asyncSetUp(self):
self.client = docker.from_env()
self.container = self.client.containers.run("mc",detach=True, name="mc_test")
self.session = aiohttp.ClientSession()
#self.req = make_mocked_request('POST', '/{server}/start', match_info={"server": "mc_test"})
async def asyncTearDown(self):
self.container.stop()
self.container.remove(force=True)
await self.session.close()
self.client.close()
async def fetch(session, url):
async with session.get(url) as response:
return await response.text()
async def startServer(command):
return await command()
if __name__ == "__main__":
unittest.main()