Commit 5ba6c059 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Forecaster component:

- Updated asserts in unitary tests
- Deactivated dump of descriptors file
- Updated test files
parent cd25f880
Loading
Loading
Loading
Loading
+327 −516

File changed.

Preview size limit exceeded, changes collapsed.

+0 −1

File deleted.

Preview size limit exceeded, changes collapsed.

+13 −8
Original line number Diff line number Diff line
@@ -47,14 +47,14 @@ ADMIN_TOPOLOGY_ID = TopologyId(**json_topology_id(DEFAULT_TOPOLOGY_NAME, context
CSV_DATA_FILE = 'forecaster/tests/data/dataset-short.csv'
#CSV_DATA_FILE = 'forecaster/tests/data/dataset.csv'
#CSV_DATA_FILE = 'forecaster/tests/data/dataset2.csv'
DESC_DATS_FILE = 'forecaster/tests/data/descriptor.json'
#DESC_DATS_FILE = 'forecaster/tests/data/descriptor.json'

@pytest.fixture(scope='session')
def scenario() -> Tuple[pandas.DataFrame, Dict]:
    df = read_csv(CSV_DATA_FILE)
    descriptors = compose_descriptors(df)
    with open(DESC_DATS_FILE, 'w', encoding='UTF-8') as f:
        f.write(json.dumps(descriptors))
    #with open(DESC_DATS_FILE, 'w', encoding='UTF-8') as f:
    #    f.write(json.dumps(descriptors))
    yield df, descriptors

def test_prepare_environment(
@@ -101,7 +101,8 @@ def test_forecast_link(
    forecast_request.forecast_window_seconds = 10 * 24 * 60 * 60 # 10 days in seconds
    forecast_reply = forecaster_client.ForecastLinkCapacity(forecast_request)
    assert forecast_reply.link_id == link_id
    # TODO: validate forecasted values
    assert forecast_reply.total_capacity_gbps >= forecast_reply.current_used_capacity_gbps
    # TODO: validate forecasted values; might be increasing or decreasing

def test_forecast_topology(
    context_client : ContextClient,
@@ -114,13 +115,17 @@ def test_forecast_topology(

    topology = context_client.GetTopology(ADMIN_TOPOLOGY_ID)
    assert len(forecast_reply.link_capacities) == len(topology.link_ids)
    reply_link_uuids = {
        link_capacity.link_id.link_uuid.uuid
    reply_link_uuid__to__link_capacity = {
        link_capacity.link_id.link_uuid.uuid : link_capacity
        for link_capacity in forecast_reply.link_capacities
    }
    for link_id in topology.link_ids:
        assert link_id.link_uuid.uuid in reply_link_uuids
        # TODO: validate forecasted values
        link_uuid = link_id.link_uuid.uuid
        assert link_uuid in reply_link_uuid__to__link_capacity
        link_capacity_forecast = reply_link_uuid__to__link_capacity[link_uuid]
        assert link_capacity_forecast.link_id == link_id
        assert link_capacity_forecast.total_capacity_gbps >= link_capacity_forecast.current_used_capacity_gbps
        # TODO: validate forecasted values; might be increasing or decreasing

def test_cleanup_environment(
    context_client : ContextClient,             # pylint: disable=redefined-outer-name