def test_caps_l2ca_get(self): info = { 'cache_size': 20 * 2000, 'cache_way_size': 2000, 'cache_ways_num': 20, 'clos_num': 14, 'cdp_supported': True, 'cdp_enabled': True } with mock.patch("caps.l2ca_info", return_value=info): response = Rest().get("/caps/l2cat") assert response.status_code == 200 data = json.loads(response.data.decode('utf-8')) # Validate response schema schema, resolver = load_json_schema('get_caps_l2ca_response.json') validate(data, schema, resolver=resolver) params = [ 'cache_size', 'cw_size', 'cw_num', 'clos_num', 'cdp_supported', 'cdp_enabled' ] assert len(data) == len(params) for param in params: assert param in data assert data['cache_size'] == 20 * 2000 assert data['cw_size'] == 2000 assert data['cw_num'] == 20 assert data['clos_num'] == 14 assert data['cdp_supported'] assert data['cdp_enabled']
def test_get(self): response = REST.get("/caps") data = json.loads(response.data.decode('utf-8')) # validate response schema schema, resolver = load_json_schema('get_caps_response.json') validate(data, schema, resolver=resolver) assert response.status_code == 200 assert 'cat' in data["capabilities"] assert 'mba' in data["capabilities"] assert 'power' in data["capabilities"]
def test_get(self): response = REST.get("/pools/3") data = json.loads(response.data.decode('utf-8')) assert response.status_code == 200 # validate get 1 pool response schema schema, resolver = load_json_schema('get_pool_response.json') validate(data, schema, resolver=resolver) # assert 1 pool is returned # structure, types and required fields are validated using schema assert data['id'] == 3
def test_get(self): response = REST.get("/pools") data = json.loads(response.data.decode('utf-8')) assert response.status_code == 200 # validate get all pools response schema schema, resolver = load_json_schema('get_pool_all_response.json') validate(data, schema, resolver=resolver) # assert 4 pools are returned # structure, types and required fields are validated using schema assert len(data) == len(CONFIG['pools'])
def test_post(self, pool_config): with mock.patch('common.CONFIG_STORE.set_config') as func_mock,\ mock.patch('pid_ops.is_pid_valid', return_value=True): response = REST.post("/pools", pool_config) func_mock.assert_called_once() data = json.loads(response.data.decode('utf-8')) #validate add pool response schema schema, resolver = load_json_schema('add_pool_response.json') validate(data, schema, resolver=resolver) assert response.status_code == 201 assert data['id'] == 5
def test_get(self): def general_stats_get(get_stats_id): if get_stats_id == StatsStore.General.NUM_APPS_MOVES: return 1 if get_stats_id == StatsStore.General.NUM_ERR: return 2 with mock.patch("common.STATS_STORE.general_stats_get", side_effect=general_stats_get) as mock_func: response = REST.get("/stats") mock_func.assert_called() data = json.loads(response.data.decode('utf-8')) # validate response schema schema, resolver = load_json_schema('get_stats_response.json') validate(data, schema, resolver=resolver) assert response.status_code == 200 assert data["num_apps_moves"] == 1 assert data["num_err"] == 2
def test_caps_rdt_iface_get(self, rdt_iface, rdt_iface_supported): with mock.patch("common.PQOS_API.current_iface", return_value=rdt_iface),\ mock.patch("common.PQOS_API.supported_iface", return_value=rdt_iface_supported): response = Rest().get("/caps/rdt_iface") assert response.status_code == 200 data = json.loads(response.data.decode('utf-8')) # validate response schema schema, resolver = load_json_schema('get_caps_rdt_iface_response.json') validate(data, schema, resolver=resolver) params = ['interface', 'interface_supported'] assert len(data) == len(params) for param in params: assert param in data assert data['interface'] == rdt_iface assert data['interface_supported'] == rdt_iface_supported
def test_caps_mba_get(self, mba_bw_enabled): with mock.patch("caps.mba_bw_enabled", return_value=mba_bw_enabled): response = Rest().get("/caps/mba") assert response.status_code == 200 data = json.loads(response.data.decode('utf-8')) # validate response schema schema, resolver = load_json_schema('get_caps_mba_response.json') validate(data, schema, resolver=resolver) params = ['mba_enabled', 'mba_bw_enabled'] assert len(data) == len(params) for param in params: assert param in data assert not data['mba_enabled'] == mba_bw_enabled assert data['mba_bw_enabled'] == mba_bw_enabled
def test_get_sstbf(self): for ret_val in [True, False]: with mock.patch("sstbf.is_sstbf_configured", return_value=ret_val): response = Rest().get("/caps/sstbf") assert response.status_code == 200 data = json.loads(response.data.decode('utf-8')) # validate response schema schema, resolver = load_json_schema('get_sstbf_response.json') validate(data, schema, resolver=resolver) params = ['configured', 'hp_cores', 'std_cores'] assert len(data) == len(params) for param in params: assert param in data assert data['configured'] == ret_val assert data['hp_cores'] == [0, 1, 2, 3] assert data['std_cores'] == [4, 5, 6, 7]