Skip to content
onem2m-mgr_test.go 17.1 KiB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
/*
 * Copyright (c) 2025  The AdvantEDGE Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on ance "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package sssmgr
Yann Garcia's avatar
Yann Garcia committed

import (
	"fmt"
Yann Garcia's avatar
Yann Garcia committed
	"testing"

	log "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-logger"
)

const tmName = "meep-iot"
const tmNamespace = "sandboxtest"

func TestNewSssMgr(t *testing.T) {
Yann Garcia's avatar
Yann Garcia committed
	fmt.Println("--- ", t.Name())
	log.MeepTextLogInit(t.Name())

	// Invalid Connector
	fmt.Println("Invalid SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
	tm, err := NewSssMgr("", tmNamespace, "MQTT", "172.29.10.56", 1883, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
Yann Garcia's avatar
Yann Garcia committed
	if err == nil || tm != nil {
Yann Garcia's avatar
Yann Garcia committed
		t.Fatalf("Service name not set")
	}
Yann Garcia's avatar
Yann Garcia committed
	tm, err = NewSssMgr(tmName, tmNamespace, "", "172.29.10.56", 1883, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
Yann Garcia's avatar
Yann Garcia committed
	if err == nil || tm != nil {
		t.Fatalf("Binding protocol not set")
	}
Yann Garcia's avatar
Yann Garcia committed
	tm, err = NewSssMgr(tmName, tmNamespace, "MQTT", "", 1883, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
Yann Garcia's avatar
Yann Garcia committed
	if err == nil || tm != nil {
Yann Garcia's avatar
Yann Garcia committed
		t.Fatalf("Host not set")
	}
	tm, err = NewSssMgr(tmName, tmNamespace, "MQTT", "172.29.10.56", 1883, "", "laboai-acme-ic-cse", nil, nil, nil)
	if err == nil || tm != nil {
		t.Fatalf("Host id not set")
	}
	tm, err = NewSssMgr(tmName, tmNamespace, "MQTT", "172.29.10.56", 1883, "7feaadbb0400", "", nil, nil, nil)
	if err == nil || tm != nil {
		t.Fatalf("CSE name not set")
Yann Garcia's avatar
Yann Garcia committed
	}

	// Valid Connector
	fmt.Println("Create valid SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
	tm, err = NewSssMgr(tmName, tmNamespace, "MQTT", "172.29.10.56", 1883, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
Yann Garcia's avatar
Yann Garcia committed
	if err != nil || tm == nil {
		t.Fatalf("Failed to create SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
	}
	// Cleanup
	err = tm.DeleteSssMgr()
Yann Garcia's avatar
Yann Garcia committed
	if err != nil {
		t.Fatalf("Failed to cleanup SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
	}
Yann Garcia's avatar
Yann Garcia committed
	tm = nil
Yann Garcia's avatar
Yann Garcia committed

	fmt.Println("Create valid SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
	tm, err = NewSssMgr(tmName, tmNamespace, "REST_HTTP", "172.29.10.56", 31110, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
Yann Garcia's avatar
Yann Garcia committed
	if err != nil || tm == nil {
		t.Fatalf("Failed to create SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
	}

	// Cleanup
	err = tm.DeleteSssMgr()
Yann Garcia's avatar
Yann Garcia committed
	if err != nil {
		t.Fatalf("Failed to cleanup SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
	}
Yann Garcia's avatar
Yann Garcia committed
	tm = nil
Yann Garcia's avatar
Yann Garcia committed
// func TestPopulateDevicesPerIotPlatformsHttp(t *testing.T) {
// 	fmt.Println("--- ", t.Name())
// 	log.MeepTextLogInit(t.Name())
// 	// Valid Connector
// 	fmt.Println("Create valid SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
// 	tm, err := NewSssMgr(tmName, tmNamespace, "REST_HTTP", "", 0, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
Yann Garcia's avatar
Yann Garcia committed
// 	if err != nil || tm == nil {
// 		t.Fatalf("Failed to create SSS Asset Manager")
// 	}
Yann Garcia's avatar
Yann Garcia committed

Yann Garcia's avatar
Yann Garcia committed
// 	err = tm.populateDevicesPerIotPlatforms()
// 	if err != nil {
// 		t.Fatalf(err.Error())
// 	}
Yann Garcia's avatar
Yann Garcia committed

Yann Garcia's avatar
Yann Garcia committed
// 	// Cleanup
// 	err = tm.DeleteSssMgr()
// 	if err != nil {
// 		t.Fatalf("Failed to cleanup SSS Asset Manager")
// 	}
// 	tm = nil
// }
Yann Garcia's avatar
Yann Garcia committed

Yann Garcia's avatar
Yann Garcia committed
// func TestSensorDiscoveryInfoAllHttp(t *testing.T) {
// 	fmt.Println("--- ", t.Name())
// 	log.MeepTextLogInit(t.Name())
// 	// Valid Connector
// 	fmt.Println("Create valid SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
// 	tm, err := NewSssMgr(tmName, tmNamespace, "REST_HTTP", "", 0, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
Yann Garcia's avatar
Yann Garcia committed
// 	if err != nil || tm == nil {
// 		t.Fatalf("Failed to create SSS Asset Manager")
// 	}
Yann Garcia's avatar
Yann Garcia committed

Yann Garcia's avatar
Yann Garcia committed
// 	sensors, err := tm.SensorDiscoveryInfoAll()
// 	if err != nil {
// 		t.Fatalf(err.Error())
// 	}
// 	fmt.Println("len=", len(sensors))
// 	fmt.Println("sensors", sensors)

// 	// Cleanup
// 	err = tm.DeleteSssMgr()
// 	if err != nil {
// 		t.Fatalf("Failed to cleanup SSS Asset Manager")
// 	}
// 	tm = nil
// }

// func TestGetSensorHttp(t *testing.T) {
// 	fmt.Println("--- ", t.Name())
// 	log.MeepTextLogInit(t.Name())

// 	// Valid Connector
// 	fmt.Println("Create valid SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
// 	tm, err := NewSssMgr(tmName, tmNamespace, "REST_HTTP", "lab-oai.etsi.org", 31110, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
Yann Garcia's avatar
Yann Garcia committed
// 	if err != nil || tm == nil {
// 		t.Fatalf("Failed to create SSS Asset Manager")
// 	}

// 	sensors, err := tm.SensorDiscoveryInfoAll()
// 	if err != nil {
// 		t.Fatalf(err.Error())
// 	}

// 	for _, v := range sensors {
// 		fmt.Println("v", v)
// 		fmt.Println("TypeOf(v)", reflect.TypeOf(v))

// 		sensor, err := tm.GetSensor(v.SensorIdentifier)
// 		if !validate_sensor_discovery_info(v, sensor) {
// 			t.Fatalf(err.Error())
// 		}
// 	}

// 	// Cleanup
// 	err = tm.DeleteSssMgr()
// 	if err != nil {
// 		t.Fatalf("Failed to cleanup SSS Asset Manager")
// 	}
// 	tm = nil
// }
Yann Garcia's avatar
Yann Garcia committed

Yann Garcia's avatar
Yann Garcia committed
// func TestOneM2M_createAEHttp(t *testing.T) {
Yann Garcia's avatar
Yann Garcia committed
// 	fmt.Println("--- ", t.Name())
// 	log.MeepTextLogInit(t.Name())
Yann Garcia's avatar
Yann Garcia committed

Yann Garcia's avatar
Yann Garcia committed
// 	// Valid Connector
// 	fmt.Println("Create valid SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
// 	tm, err := NewSssMgr(tmName, tmNamespace, "REST_HTTP", "lab-oai.etsi.org", 31110, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
Yann Garcia's avatar
Yann Garcia committed
// 	if err != nil || tm == nil {
// 		t.Fatalf("Failed to create SSS Asset Manager")
// 	}
Yann Garcia's avatar
Yann Garcia committed

// 	var new_sensor = SensorDiscoveryInfo{
// 		SensorIdentifier: "12345",
// 		SensorType:       "AE",
// 		SensorPosition:   nil,
// 		IotPlatformId:    "7feaadbb0400",
Yann Garcia's avatar
Yann Garcia committed
// 	}
Yann Garcia's avatar
Yann Garcia committed
// 	sensor, err := tm.OneM2M_create(new_sensor, "")
Yann Garcia's avatar
Yann Garcia committed
// 	if err != nil {
Yann Garcia's avatar
Yann Garcia committed
// 		t.Fatalf("Failed to create new sensor")
Yann Garcia's avatar
Yann Garcia committed
// 	// Verify content
// 	fmt.Println(">>> validate_sensor_discovery_info_1: expected_sensor: ", new_sensor)
// 	fmt.Println(">>> validate_sensor_discovery_info_1: received_sensor: ", sensor)
// 	// if sensor.SensorIdentifier != new_sensor.SensorIdentifier { // FIXME FSCOM SensorIdentifier will be replaced by oneM2M ri
// 	// 	t.Fatalf("received_sensor.SensorIdentifier != SensorIdentifier")
// 	// }
// 	if sensor.SensorType != new_sensor.SensorType {
// 		t.Fatalf("received_sensor.SensorType != SensorType")
Yann Garcia's avatar
Yann Garcia committed
// 	}
Yann Garcia's avatar
Yann Garcia committed
// 	if sensor.IotPlatformId != new_sensor.IotPlatformId {
// 		t.Fatalf("received_sensor.IotPlatformId != IotPlatformId")
Yann Garcia's avatar
Yann Garcia committed
// 	}
Yann Garcia's avatar
Yann Garcia committed
// 	if len(sensor.SensorCharacteristicList) == 0 {
// 		t.Fatalf("received_sensor.SensorCharacteristicList shall not be empty")
Yann Garcia's avatar
Yann Garcia committed
// 	}
Yann Garcia's avatar
Yann Garcia committed

// 	_ = tm.OneM2M_Delete(sensor)
Yann Garcia's avatar
Yann Garcia committed

// 	// Cleanup
// 	err = tm.DeleteSssMgr()
// 	if err != nil {
// 		t.Fatalf("Failed to cleanup SSS Asset Manager")
// 	}
Yann Garcia's avatar
Yann Garcia committed
// 	tm = nil
Yann Garcia's avatar
Yann Garcia committed
func TestOneM2M_createAE_CNTHttp(t *testing.T) {
Yann Garcia's avatar
Yann Garcia committed
	fmt.Println("--- ", t.Name())
	log.MeepTextLogInit(t.Name())

	// Valid Connector
	fmt.Println("Create valid SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
	tm, err := NewSssMgr(tmName, tmNamespace, "REST_HTTP", "lab-oai.etsi.org", 31110, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
Yann Garcia's avatar
Yann Garcia committed
	if err != nil || tm == nil {
		t.Fatalf("Failed to create SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
	var sensor_ae = SensorDiscoveryInfo{
		SensorIdentifier: "CMyAE",
		SensorType:       "AE",
		SensorPosition:   nil,
		IotPlatformId:    "7feaadbb0400",
	}
	new_sensor_ae, err := tm.OneM2M_create(sensor_ae, "")
Yann Garcia's avatar
Yann Garcia committed
	if err != nil {
Yann Garcia's avatar
Yann Garcia committed
		t.Fatalf("Failed to create new AE sensor")
	}

	// Verify content
	fmt.Println(">>> validate_sensor_discovery_info_1: expected_sensor: ", sensor_ae)
	fmt.Println(">>> validate_sensor_discovery_info_1: received_sensor: ", new_sensor_ae)
	// if sensor.SensorIdentifier != new_sensor.SensorIdentifier { // FIXME FSCOM SensorIdentifier will be replaced by oneM2M ri
	// 	t.Fatalf("received_sensor.SensorIdentifier != SensorIdentifier")
	// }
	if new_sensor_ae.SensorType != new_sensor_ae.SensorType {
		t.Fatalf("received_sensor.SensorType != SensorType")
	}
	if new_sensor_ae.IotPlatformId != sensor_ae.IotPlatformId {
		t.Fatalf("received_sensor.IotPlatformId != IotPlatformId")
	}
	if len(new_sensor_ae.SensorCharacteristicList) == 0 {
		t.Fatalf("received_sensor.SensorCharacteristicList shall not be empty")
Yann Garcia's avatar
Yann Garcia committed
	var sensor_cnt = SensorDiscoveryInfo{
		SensorIdentifier: "CMyCNT",
		SensorType:       "CNT",
		SensorPosition:   nil,
		IotPlatformId:    "7feaadbb0400",
	}
	// sensor_cnt.SensorCharacteristicList = make([]SensorCharacteristic, 1)
	// sensor_cnt.SensorCharacteristicList[0] = SensorCharacteristic{CharacteristicName: "con", CharacteristicValue: "OFF"}
	sensorPath := new_sensor_ae.SensorIdentifier
	new_sensor_cnt, err := tm.OneM2M_create(sensor_cnt, sensorPath)
	if err != nil {
		t.Fatalf("Failed to create new sensor")
	}
	if new_sensor_cnt.SensorType != sensor_cnt.SensorType {
		t.Fatalf("received_sensor.SensorType != SensorType")
	}
	if new_sensor_cnt.IotPlatformId != sensor_cnt.IotPlatformId {
		t.Fatalf("received_sensor.IotPlatformId != IotPlatformId")
	}
	if len(new_sensor_cnt.SensorCharacteristicList) == 0 {
		t.Fatalf("received_sensor.SensorCharacteristicList shall not be empty")
	}
Yann Garcia's avatar
Yann Garcia committed
	err = tm.OneM2M_Delete(new_sensor_cnt)
	if err != nil {
		t.Fatalf("Failed to create new sensor")
	}
	err = tm.OneM2M_Delete(new_sensor_ae)
	if err != nil {
		t.Fatalf("Failed to create new sensor")
Yann Garcia's avatar
Yann Garcia committed
	}

	// Cleanup
	err = tm.DeleteSssMgr()
Yann Garcia's avatar
Yann Garcia committed
	if err != nil {
		t.Fatalf("Failed to cleanup SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
	}
Yann Garcia's avatar
Yann Garcia committed
	tm = nil
Yann Garcia's avatar
Yann Garcia committed
// func TestOneM2M_deleteHttp(t *testing.T) {
Yann Garcia's avatar
Yann Garcia committed
// 	fmt.Println("--- ", t.Name())
// 	log.MeepTextLogInit(t.Name())

// 	// Valid Connector
// 	fmt.Println("Create valid SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
// 	tm, err := NewSssMgr(tmName, tmNamespace, "REST_HTTP", "lab-oai.etsi.org", 31110, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
Yann Garcia's avatar
Yann Garcia committed
// 	if err != nil || tm == nil {
// 		t.Fatalf("Failed to create SSS Asset Manager")
// 	}

Yann Garcia's avatar
Yann Garcia committed
// 	var new_sensor = SensorDiscoveryInfo{
// 		SensorIdentifier: "12345",
// 		SensorType:       "AE",
// 		SensorPosition:   nil,
// 		IotPlatformId:    "7feaadbb0400",
// 	}
// 	sensor, err := oneM2M_create(tm, new_sensor)
// 	if err != nil {
// 		t.Fatalf("Failed to create new sensor: ", err.Error())
// 	}

// 	err = tm.OneM2M_Delete(sensor)
// 	if err != nil {
// 		t.Fatalf("Failed to create new sensor: ", err.Error())
// 	}
Yann Garcia's avatar
Yann Garcia committed

// 	// Cleanup
// 	err = tm.DeleteSssMgr()
// 	if err != nil {
// 		t.Fatalf("Failed to cleanup SSS Asset Manager")
// 	}
Yann Garcia's avatar
Yann Garcia committed
// 	tm = nil
Yann Garcia's avatar
Yann Garcia committed
// func TestPopulateDevicesPerIotPlatformsMqtt(t *testing.T) {
// 	fmt.Println("--- ", t.Name())
// 	log.MeepTextLogInit(t.Name())
// 	// Valid Connector
// 	fmt.Println("Create valid SSS Asset Manager")
// 	tm, err := NewSssMgr(tmName, tmNamespace, "MQTT", "172.29.10.56", 1883, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
// 	if err != nil || tm == nil {
// 		t.Fatalf("Failed to create SSS Asset Manager")
// 	}
// 	err = tm.populateDevicesPerIotPlatforms()
// 	if err != nil {
// 		t.Fatalf(err.Error())
// 	}
// 	// Cleanup
// 	err = tm.DeleteSssMgr()
// 	if err != nil {
// 		t.Fatalf("Failed to cleanup SSS Asset Manager")
// 	}
// 	tm = nil
// }

// func TestSensorDiscoveryInfoAllMqtt(t *testing.T) {
Yann Garcia's avatar
Yann Garcia committed
// 	fmt.Println("--- ", t.Name())
// 	log.MeepTextLogInit(t.Name())

// 	// Valid Connector
// 	fmt.Println("Create valid SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
// 	tm, err := NewSssMgr(tmName, tmNamespace, "MQTT", "172.29.10.56", 1883, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
Yann Garcia's avatar
Yann Garcia committed
// 	if err != nil || tm == nil {
// 		t.Fatalf("Failed to create SSS Asset Manager")
// 	}

// 	err = tm.populateDevicesPerIotPlatforms()
// 	if err != nil {
// 		t.Fatalf(err.Error())
// 	}

// 	sensors, err := tm.SensorDiscoveryInfoAll()
// 	if err != nil {
// 		t.Fatalf(err.Error())
// 	}
// 	fmt.Println("sensors: ", sensors)

Yann Garcia's avatar
Yann Garcia committed
// 	// Cleanup
// 	err = tm.DeleteSssMgr()
// 	if err != nil {
// 		t.Fatalf("Failed to cleanup SSS Asset Manager")
// 	}
// }

// func TestGetSensorMqtt(t *testing.T) {
// 	fmt.Println("--- ", t.Name())
// 	log.MeepTextLogInit(t.Name())

// 	// Valid Connector
// 	fmt.Println("Create valid SSS Asset Manager")
// 	tm, err := NewSssMgr(tmName, tmNamespace, "MQTT", "172.29.10.56", 1883, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
// 	if err != nil || tm == nil {
// 		t.Fatalf("Failed to create SSS Asset Manager")
// 	}

// 	sensors, err := tm.SensorDiscoveryInfoAll()
Yann Garcia's avatar
Yann Garcia committed
// 	if err != nil {
// 		t.Fatalf(err.Error())
// 	}
Yann Garcia's avatar
Yann Garcia committed

// 	for _, v := range sensors {
// 		fmt.Println("v", v)
// 		fmt.Println("TypeOf(v)", reflect.TypeOf(v))

// 		sensor, err := tm.GetSensor(v.SensorIdentifier)
// 		if !validate_sensor_discovery_info(v, sensor) {
// 			t.Fatalf(err.Error())
// 		}
Yann Garcia's avatar
Yann Garcia committed
// 	}

// 	// Cleanup
// 	err = tm.DeleteSssMgr()
// 	if err != nil {
// 		t.Fatalf("Failed to cleanup SSS Asset Manager")
// 	}
Yann Garcia's avatar
Yann Garcia committed
// 	tm = nil
Yann Garcia's avatar
Yann Garcia committed
// func TestOneM2M_createAEMQTT(t *testing.T) {
// 	fmt.Println("--- ", t.Name())
// 	log.MeepTextLogInit(t.Name())

// 	// Valid Connector
// 	fmt.Println("Create valid SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
// 	tm, err := NewSssMgr(tmName, tmNamespace, "MQTT", "172.29.10.56", 1883, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
// 	if err != nil || tm == nil {
// 		t.Fatalf("Failed to create SSS Asset Manager")
// 	}

Yann Garcia's avatar
Yann Garcia committed
// 	var new_sensor = SensorDiscoveryInfo{
// 		SensorIdentifier: "12345",
// 		SensorType:       "AE",
// 		SensorPosition:   nil,
// 		IotPlatformId:    "7feaadbb0400",
// 	}
// 	sensor, err := tm.OneM2M_create(new_sensor, "")
// 	if err != nil {
Yann Garcia's avatar
Yann Garcia committed
// 		t.Fatalf("Failed to create new sensor")
// 	}

// 	// Verify content
// 	fmt.Println(">>> validate_sensor_discovery_info_1: expected_sensor: ", new_sensor)
// 	fmt.Println(">>> validate_sensor_discovery_info_1: received_sensor: ", sensor)
// 	// if sensor.SensorIdentifier != new_sensor.SensorIdentifier { // FIXME FSCOM SensorIdentifier will be replaced by oneM2M ri
// 	// 	t.Fatalf("received_sensor.SensorIdentifier != SensorIdentifier")
// 	// }
// 	if sensor.SensorType != new_sensor.SensorType {
// 		t.Fatalf("received_sensor.SensorType != SensorType")
Yann Garcia's avatar
Yann Garcia committed
// 	if sensor.IotPlatformId != new_sensor.IotPlatformId {
// 		t.Fatalf("received_sensor.IotPlatformId != IotPlatformId")
// 	}
// 	if len(sensor.SensorCharacteristicList) == 0 {
// 		t.Fatalf("received_sensor.SensorCharacteristicList shall not be empty")
// 	}

// 	_ = tm.OneM2M_Delete(sensor)

// 	// Cleanup
// 	err = tm.DeleteSssMgr()
// 	if err != nil {
Yann Garcia's avatar
Yann Garcia committed
// 		t.Fatalf("Failed to cleanup SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
// 	tm = nil
// }

// func TestOneM2M_deleteMQTT(t *testing.T) {
// 	fmt.Println("--- ", t.Name())
// 	log.MeepTextLogInit(t.Name())

// 	// Valid Connector
// 	fmt.Println("Create valid SSS Asset Manager")
// 	tm, err := NewSssMgr(tmName, tmNamespace, "MQTT", "172.29.10.56", 1883, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
// 	if err != nil || tm == nil {
// 		t.Fatalf("Failed to create SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
// 	var new_sensor = SensorDiscoveryInfo{
// 		SensorIdentifier: "12345",
// 		SensorType:       "AE",
// 		SensorPosition:   nil,
// 		IotPlatformId:    "7feaadbb0400",
Yann Garcia's avatar
Yann Garcia committed
// 	sensor, err := oneM2M_create(tm, new_sensor, "")
// 	if err != nil {
Yann Garcia's avatar
Yann Garcia committed
// 		t.Fatalf("Failed to create new sensor: " + err.Error())
Yann Garcia's avatar
Yann Garcia committed
// 	err = tm.OneM2M_Delete(sensor)
// 	if err != nil {
Yann Garcia's avatar
Yann Garcia committed
// 		t.Fatalf("Failed to create new sensor: " + err.Error())
// 	}

// 	// Cleanup
// 	err = tm.DeleteSssMgr()
// 	if err != nil {
// 		t.Fatalf("Failed to cleanup SSS Asset Manager")
// 	}
Yann Garcia's avatar
Yann Garcia committed
// 	tm = nil
Yann Garcia's avatar
Yann Garcia committed
// func TestVaidateOneM2MNotificationServer(t *testing.T) {
// 	fmt.Println("--- ", t.Name())
// 	log.MeepTextLogInit(t.Name())
Yann Garcia's avatar
Yann Garcia committed
// 	// Valid Connector
// 	fmt.Println("Create valid SSS Asset Manager")
// 	tm, err := NewSssMgr(tmName, tmNamespace, "MQTT", "172.29.10.56", 1883, "MQTT", "172.29.10.56", 1883, "7feaadbb0400", "laboai-acme-ic-cse", nil, nil, nil)
// 	if err != nil || tm == nil {
// 		t.Fatalf("Failed to create SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed

// 	tm.init()
// 	fmt.Println("Waiting for 2 minutes to do curl request: curl -v http://mec-platform.etsi.org:33122/sbxykqjr17/mep1/sens/v1 ")

// 	// Cleanup
// 	err = tm.DeleteSssMgr()
// 	if err != nil {
Yann Garcia's avatar
Yann Garcia committed
// 		t.Fatalf("Failed to cleanup SSS Asset Manager")
Yann Garcia's avatar
Yann Garcia committed
func oneM2M_create(tm *SssMgr, sensor SensorDiscoveryInfo, path string) (sensorResp SensorDiscoveryInfo, err error) {
	sensorResp, err = tm.OneM2M_create(sensor, path)
	if err != nil {
		return sensorResp, err
	}

	return sensorResp, nil
}

func validate_sensor_discovery_info(expected_sensor SensorDiscoveryInfo, received_sensor SensorDiscoveryInfo) bool {
	fmt.Println(">>> validate_sensor_discovery_info: expected_sensor: ", expected_sensor)
	fmt.Println(">>> validate_sensor_discovery_info: received_sensor: ", received_sensor)

	if expected_sensor.SensorIdentifier != received_sensor.SensorIdentifier {
		fmt.Println("received_sensor.SensorIdentifier != SensorIdentifier")
		return false
Yann Garcia's avatar
Yann Garcia committed
	}
	if len(expected_sensor.SensorPropertyList) != len(received_sensor.SensorPropertyList) {
		fmt.Println("len(received_sensor.SensorPropertyList) != len(SensorPropertyList)")
Yann Garcia's avatar
Yann Garcia committed
		return false
	} else if !reflect.DeepEqual(expected_sensor.SensorPropertyList, received_sensor.SensorPropertyList) {
		fmt.Println("received_sensor.SensorPropertyList != SensorPropertyList")
Yann Garcia's avatar
Yann Garcia committed
	}
	if len(expected_sensor.SensorCharacteristicList) != len(received_sensor.SensorCharacteristicList) {
		fmt.Println("len(received_sensor.SensorCharacteristicList) != len(SensorCharacteristicList)")
Yann Garcia's avatar
Yann Garcia committed
		return false
	} else if !reflect.DeepEqual(expected_sensor.SensorCharacteristicList, received_sensor.SensorCharacteristicList) {
		fmt.Println("received_sensor.SensorCharacteristicList != SensorCharacteristicList")
Yann Garcia's avatar
Yann Garcia committed
	}
	// TODO To be continued

	return true
}