Commit 89759a79 authored by Ayesha Ayub's avatar Ayesha Ayub
Browse files

add POST test case for publish_v2x_message and subscriptions endpoints

parent 47fd4150
Loading
Loading
Loading
Loading
+90 −22
Original line number Diff line number Diff line
@@ -644,26 +644,7 @@ func TestPredictedQosPost(t *testing.T) {
	terminateScenario()
}

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

	initializeVars()

	err := Init()
	if err != nil {
		t.Fatalf("Error initializing test basic procedure")
	}
	err = Run()
	if err != nil {
		t.Fatalf("Error running test basic procedure")
	}

	fmt.Println("Set a scenario")
	initialiseScenario(testScenario)

	time.Sleep(1000 * time.Millisecond)
	updateScenario("mobility1")
func TestSubscriptionPost(t *testing.T) string {

	/******************************
	 * expected response section
@@ -708,7 +689,7 @@ func TestSubscriptionPost(t *testing.T) {
	 * request execution section
	 ******************************/

	rr, err := sendRequest(http.MethodPost, "/subscription", bytes.NewBuffer(body), nil, nil, http.StatusCreated, subscriptionsPost)
	rr, err := sendRequest(http.MethodPost, "/subscription", bytes.NewBuffer(body), nil, nil, http.StatusCreated, SubPOST)
	if err != nil {
		t.Fatalf(err.Error())
	}
@@ -723,12 +704,99 @@ func TestSubscriptionPost(t *testing.T) {
	if rr != string(expected_v2xMsgSubscription_str) {
		t.Fatalf(err.Error())
	}
	log.Info("Received expected response")

	log.Info("Received expected response for POST method")

	return string(expected_v2xMsgSubscription_str)
}

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

	initializeVars()

	err := Init()
	if err != nil {
		t.Fatalf("Error initializing test basic procedure")
	}
	err = Run()
	if err != nil {
		t.Fatalf("Error running test basic procedure")
	}

	fmt.Println("Set a scenario")
	initialiseScenario(testScenario)

	time.Sleep(1000 * time.Millisecond)
	updateScenario("mobility1")

	// POST
	_ = TestSubscriptionPost(t)

	// GET
	//todo

	/******************************
	 * back to initial state section
	 ******************************/
	terminateScenario()

}

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

	initializeVars()

	err := Init()
	if err != nil {
		t.Fatalf("Error initializing test basic procedure")
	}
	err = Run()
	if err != nil {
		t.Fatalf("Error running test basic procedure")
	}

	fmt.Println("Set a scenario")
	initialiseScenario(testScenario)

	time.Sleep(1000 * time.Millisecond)
	updateScenario("mobility1")

	/******************************
	 * expected response section
	 ******************************/
	// Initialize the data structure for the POST request
	// MEC-030 Clause 6.2.6
	// MEC-030 Clause 7.7.3.4

	/******************************
	 * expected request section
	 ******************************/

	stdOrganization := "ETSI"
	msgEncodeFormat := "base64"
	msgType := DENM
	msgContent := "Our msg Content"

	testv2xMsgPublication := V2xMsgPublication{MsgContent: msgContent, MsgEncodeFormat: msgEncodeFormat, MsgType: &msgType, StdOrganization: stdOrganization}
	body, err := json.Marshal(testv2xMsgPublication)
	if err != nil {
		t.Fatalf(err.Error())
	}
	fmt.Println("body: ", string(body))

	/******************************
	 * request execution section
	 ******************************/

	_, err = sendRequest(http.MethodPost, "/publish_v2x_message", bytes.NewBuffer(body), nil, nil, http.StatusNoContent, V2xMessagePOST)
	if err != nil {
		t.Fatalf(err.Error())
	}
	log.Info("sendRequest done")
}

func initializeVars() {