def test_get_metrics_failed(self, db): server = Server(name='test', host='127.0.0.1', port='6379') try: server.get_metrics() except RestException as e: assert e.code == 400 assert e.message == 'redis server %s can not connected' % server.host
def test_update_server_success_with_duplicate_server( self, server, client, admin): """更新服务器名称为其他同名服务器名称时失败 """ errors = {'message': 'redis server already exist', 'ok': False} assert Server.query.count() == 1 # 先创建 Redis 服务器 second_server = Server(name='second_server', description='test', host='192.168.0.1', port=6379) second_server.save() assert Server.query.count() == 2 # 尝试将 second_server 的名称更新成和 server 一致,将会失败 data = {'name': server.name} # 通过 '/servers/<int:object_id>' 接口更新 Redis 服务器 headers = self.token_header(admin) resp = client.put(url_for(self.endpoint, object_id=second_server.id), data=json.dumps(data), headers=headers) assert resp.status_code == 400 assert resp.json == errors
def server(db): """测试 Redis 服务器记录 """ server = Server(name='redis_test',description='this is a test record', host='127.0.0.1',port='6379') server.save() return server
def test_update_server_success_with_duplicate_server(self, server, client): """ 更新服务器名称为其他同名服务器名称时失败 """ errors = {'name': 'Redis server already exist'} assert Server.query.count() == 1 # 先创建 Redis 服务器 second_server = Server(name='second_server', description='test', host='192.168.0.1', port=6379) second_server.save() assert Server.query.count() == 2 # 尝试将 second_server 的名称更新成 server 一直,将会失败 data = {'name': server.name} # 通过 '/servers/' 接口创建 Redis 服务器 resp = client.put(url_for(self.endpoint, object_id=second_server.id), data=json.dumps(data), content_type='application/json') assert resp.status_code == 400 assert resp.json == errors
def test_save(self, db): assert Server.query.count() == 0 server = Server(name='test', host='127.0.0.1') server.save() assert Server.query.count() == 1 assert Server.query.first() == server
def server(db): """测试Redis服务器记录,相当于为数据库添加一条记录, 作为依赖,用于测试服务器的相关功能 """ server = Server(name='redis_test', description='this is a test record', host='127.0.0.1', port='6379') server.save() return server
def test_ping_failed(self, db): server = Server(name='test', host='127.0.0.1', port=6399) try: server.ping() except RestException as e: assert e.code == 400 assert e.message == 'redis server %s can not connected' % server.host
def test_save(self, db): """test Server.save func """ assert Server.query.count() == 0 server = Server(name='test', host='127.0.0.1') server.save() assert Server.query.count() == 1
def test_ping_failed(self, db): # 没有Redis服务器在127.0.0.1:6399地址,所以将访问失败 server = Server(name='test', host='localhost', port=6399) try: server.ping() except RestException as e: assert e.code == 400 assert e.message == 'redis server %s can not connected' % server.host
def test_get_metrics_failure(self, db): server = Server(name='test', host='127.0.0.1', port=6399) try: server.get_metrics() except RestException as e: assert e.code == 400 assert e.message == 'cannot connect to redis server {}'.format( server.host)
def server(db): """test redis server log """ server = Server(name="redis test", description='this is a test record', host='127.0.0.1', port='6379') server.save() return server
def server(db): server = Server(name='redis_test', desc='this is a test record', host='127.0.0.1', port='6379') server.save() return server
def server(db): """test Redis server record """ server = Server(name='redis_fixtures', description='this is a test record', host='127.0.0.1', port='6379') server.save() return server
def test_ping_failed(self, db): server = Server(name='test', host='127.0.0.1', port=1399) # server.ping() try: server.ping() except RestException as e: assert e.code == 400 assert e.message == 'redis server {} can not connected'.format( server.host) else: assert False
def test_ping_failed(self, db): """测试 Server.ping 方法执行失败 Server.ping 方法执行失败时,会抛出 RestException """ # 没有 Redis 服务器监听在 127.0.0.1:6399 地址, 所以将访问失败 server = Server(name='test', host='127.0.0.1', port=6399) try: server.ping() except RestException as e: assert e.code == 400 assert e.message == 'redis server %s can not connected' % server.host
def test_save(self, db): """测试Server.save保存服务器方法""" # 初始状态下,数据库中没有保存任何Redis,即数量为0 assert Server.query.count() == 0 server = Server(name='test', host='127.0.0.1') # 保存到数据库中 server.save() # 现在数据中redis数量为1 assert Server.query.count() == 1 # 且数据库中的记录就是之前创建的记录 assert Server.query.first() == server
def test_get_server_success(self, server, client): """测试获取 Redis 服务器详情 """ server = Server(name='test', host='127.0.0.1') server.save() resp = client.get(url_for(self.endpoint, object_id=server.id)) servers = resp.json h = servers assert h['name'] == 'test' assert h['host'] == '127.0.0.1' assert h['port'] == 6379
def test_get_metrics_failed(self, server): """测试 Server.get_metrics 方法执行失败 """ # 没有 Redis 服务器监听在 127.0.0.1:6399 地址, 所以将访问失败 server = Server(name='test', host='127.0.0.1', port=6399) try: server.get_metrics() except RedisConnectError as e: assert e.code == 400 assert e.message == 'redis server %s can not connected' % server.host
def test_save(self, db): """ test Server.save """ # 初始状态下数据库没有保存Redis,所以此时数量为0 assert Server.query.count() == 0 server = Server(name='test', host='127.0.0.1') server.save() # 现在数据库的数量为1 assert Server.query.count() == 1 # 且数据库的记录就是之前创建的记录 assert Server.query.first() == server
def test_ping_faild(self, db): """ 测试 Server.ping 方法执行失败 Server.ping 方法执行失败时, 会抛出 RestException 异常 :param db: :return: """ server = Server(name='test', host='127.0.0.1', port=6399) try: server.ping() except RestException as e: assert e.code == 400 assert e.message == 'redis server %s can not connected' % server.host
def test_ping_failure(self, db): """ when Server.ping fails it raises RestException """ server = Server(name='test', host='127.0.0.1', port=6399) try: server.ping() except RestException as e: assert e.code == 400 assert e.message == 'cannot connect to redis server {}'.format( server.host)
def test_update_server_success_with_duplicate_server(self, server, client): """更新服务器名称为其他同名服务器名称时失败 """ server_test = Server(name='test', host='127.0.0.1') server_test.save() resp = client.put(url_for(self.endpoint, object_id=server.id), data=json.dumps(dict(name='test')), content_type='application/json') print(resp.data) assert resp.status_code == 400 result = resp.json assert result['ok'] == False assert result['message'] == 'Redis server already exist'
def test_save(self, db): """测试Server.save 保存服务器方法 """ # 初始状态下,数据库没有保存任何Redis服务器,所以数量为0 assert Server.query.count() == 0 # 创建server对象 server = Server(name='test', host='127.0.0.1') # 保存到数据库中 server.save() # 此时数据库中Redis服务器数量变为1 assert Server.query.count() == 1 # 并且查询到的对象就是刚刚存入的对象 assert Server.query.first() == server
def test_get_metrics_failed(self, db): """测试 Server.get_metrics方法执行失败 Server.get_metrics方法执行失败时,会抛出RestException 异常 """ # 没有Redis服务器监听在6399端口上,所以将访问失败 server = Server(name='test', host='127.0.0.1', port=6399) try: server.get_metrics() except RestException as e: assert e.code == 400 assert e.message == 'redis server %s can not connected' % server.host
def test_save(self, db): ''' 测试 Server.save 保存服务器的方法 ''' # 初始状态下,数据库中没有保存任何 Redis,所以数量为 0 assert Server.query.count() == 0 server = Server(name='test', host='127.0.0.1') # 保存到数据库中 server.save() # 现在数据库中数量变为 1 assert Server.query.count() == 1 # 且数据库中的记录就是之前创建的记录 assert Server.query.first() == server
def test_update_server_failed_with_duplicate_server(self, server, client): """更新服务器名称为其他同名服务器名称时失败: 假设要更新server的name字段,但是更改的时候改成了和second_server 同名报错 """ # 数据库中有一条记录 assert Server.query.first() == server # 创建second_server second_server = Server(name='second_server', host='192.168.0.1', port=6379) second_server.save() # 数据库中有两条记录 assert Server.query.count() == 2 data = { 'name': second_server.name, # 更新名字,与另一记录重复 'description': 'I have changed the description' # 更新描述 } headers = {'Content-Type': 'application/json'} # HTTP put方法更新sever服务器,并与second_server同名 resp = client.put(url_for(self.endpoint, object_id=server.id), data=json.dumps(data), headers=headers) # 更新失败,状态码为400 assert resp.status_code == 400 # 验证错误信息 assert resp.json == { 'ok': False, 'message': 'Redis server alredy exist' }