def METHOD_NAME(self, start_south_north, read_data_from_ocs, fledge_url, wait_time, retries,
                    ocs_client_id, ocs_client_secret, ocs_tenant, ocs_namespace, asset_name="endToEndCoAP"):
    """ Test that data is inserted in Fledge and sent to OCS
        start_south_north: Fixture that starts Fledge with south and north instance
        read_data_from_ocs: Fixture to read data from OCS
        Assertions:
            on endpoint GET /fledge/asset
            on endpoint GET /fledge/asset/<asset_name>
            data received from OCS is same as data sent"""
    conn = http.client.HTTPConnection(fledge_url)
    time.sleep(wait_time)
    subprocess.run(["cd $FLEDGE_ROOT/extras/python; python3 -m fogbench -t ../../data/{}; cd -".format(TEMPLATE_NAME)],
                   shell=True, check=True)
    time.sleep(wait_time)
    conn.request("GET", '/fledge/asset')
    r = conn.getresponse()
    assert 200 == r.status
    r = r.read().decode()
    retval = json.loads(r)
    assert len(retval) == 1
    assert asset_name == retval[0]["assetCode"]
    assert 1 == retval[0]["count"]
    conn.request("GET", '/fledge/asset/{}'.format(asset_name))
    r = conn.getresponse()
    assert 200 == r.status
    r = r.read().decode()
    retval = json.loads(r)
    assert {'sensor': SENSOR_VALUE} == retval[0]["reading"]
    retry_count = 0
    data_from_ocs = None
    while (data_from_ocs is None or data_from_ocs == []) and retry_count < retries:
        data_from_ocs = read_data_from_ocs(ocs_client_id, ocs_client_secret, ocs_tenant, ocs_namespace, asset_name)
        retry_count += 1
        time.sleep(wait_time * 2)
    if data_from_ocs is None or retry_count == retries:
        assert False, "Failed to read data from OCS"
    assert data_from_ocs[-1]['sensor'] == SENSOR_VALU