From 14f50a43b172e7dc55b79404ab636b7697816db5 Mon Sep 17 00:00:00 2001
From: thijsheijden <hi@thijsheijden.nl>
Date: Fri, 21 May 2021 14:50:40 +0200
Subject: [PATCH] Updated consume tests

---
 go.mod                                    |  4 ++--
 go.sum                                    |  2 ++
 internal/usecases/consume/consume_test.go | 20 +++++++++++++-------
 3 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/go.mod b/go.mod
index 4b511a5..be3e393 100644
--- a/go.mod
+++ b/go.mod
@@ -14,8 +14,8 @@ require (
 	github.com/thijsheijden/alice v0.1.18
 	golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect
 	golang.org/x/net v0.0.0-20210510120150-4163338589ed // indirect
-	golang.org/x/sys v0.0.0-20210514084401-e8d321eab015 // indirect
+	golang.org/x/sys v0.0.0-20210521090106-6ca3eb03dfc2 // indirect
 	golang.org/x/tools v0.1.1 // indirect
-	google.golang.org/grpc v1.37.1
+	google.golang.org/grpc v1.37.0
 	google.golang.org/protobuf v1.26.0
 )
diff --git a/go.sum b/go.sum
index c670d7d..5e70744 100644
--- a/go.sum
+++ b/go.sum
@@ -207,6 +207,8 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210514084401-e8d321eab015 h1:hZR0X1kPW+nwyJ9xRxqZk1vx5RUObAPBdKVvXPDUH/E=
 golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210521090106-6ca3eb03dfc2 h1:48AqIJLs69Wmc3mA52aIcqt544rjrDCqolKAv7L8leA=
+golang.org/x/sys v0.0.0-20210521090106-6ca3eb03dfc2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
diff --git a/internal/usecases/consume/consume_test.go b/internal/usecases/consume/consume_test.go
index f4816ca..6d016f0 100644
--- a/internal/usecases/consume/consume_test.go
+++ b/internal/usecases/consume/consume_test.go
@@ -72,6 +72,7 @@ func TestCorrectMessageHandled(t *testing.T) {
 	headers := make(map[string]interface{})
 	headers["sessionID"] = "mock-session"
 	headers["clientID"] = "mock-client"
+	headers["queryID"] = "mock-query"
 	mockMessage := broker.Message{
 		Headers: headers,
 		Body: []byte(`{
@@ -93,16 +94,16 @@ func TestCorrectMessageHandled(t *testing.T) {
 	ts.service.HandleMessage(&mockMessage)
 
 	// Assert that there now are two messages that have been sent with routing key mock-queue
-	assert.Len(t, ts.mockBroker.Messages["mock-queue"], 2)
+	assert.Len(t, ts.mockBroker.Messages["mock-queue"], 7)
 
 	// Assert that the first message is of type 'query_translation_result' and has 'Query converted' as value
 	var translationMessage entity.MessageStruct
-	json.Unmarshal(ts.mockBroker.Messages["mock-queue"][0].Body, &translationMessage)
+	json.Unmarshal(ts.mockBroker.Messages["mock-queue"][2].Body, &translationMessage)
 	assert.Equal(t, "query_translation_result", translationMessage.Type)
 
 	// Assert that the second message is of type 'query_result' and contains no values
 	var resultMessage entity.MessageStruct
-	json.Unmarshal(ts.mockBroker.Messages["mock-queue"][1].Body, &resultMessage)
+	json.Unmarshal(ts.mockBroker.Messages["mock-queue"][6].Body, &resultMessage)
 	assert.Equal(t, "query_result", resultMessage.Type)
 	assert.Equal(t, "test", resultMessage.Value)
 }
@@ -113,6 +114,7 @@ func TestNoSessionIDHandled(t *testing.T) {
 	// Create a mock message
 	headers := make(map[string]interface{})
 	headers["clientID"] = "mock-client"
+	headers["queryID"] = "mock-query"
 	mockMessage := broker.Message{
 		Headers: headers,
 		Body: []byte(`{
@@ -144,6 +146,7 @@ func TestBadIncomingQueryHandled(t *testing.T) {
 	headers := make(map[string]interface{})
 	headers["clientID"] = "mock-client"
 	headers["sessionID"] = "mock-session"
+	headers["queryID"] = "mock-query"
 	mockMessage := broker.Message{
 		Headers: headers,
 		Body: []byte(`{
@@ -166,7 +169,7 @@ func TestBadIncomingQueryHandled(t *testing.T) {
 
 	// Assert that there was an error message published
 	var errorMsg entity.MessageStruct
-	json.Unmarshal(ts.mockBroker.Messages["mock-queue"][0].Body, &errorMsg)
+	json.Unmarshal(ts.mockBroker.Messages["mock-queue"][1].Body, &errorMsg)
 	assert.Equal(t, "query_translation_error", errorMsg.Type)
 }
 
@@ -177,6 +180,7 @@ func TestDatabaseErrorHandled(t *testing.T) {
 	headers := make(map[string]interface{})
 	headers["clientID"] = "mock-client"
 	headers["sessionID"] = "mock-session"
+	headers["queryID"] = "mock-query"
 	mockMessage := broker.Message{
 		Headers: headers,
 		Body: []byte(`{
@@ -202,7 +206,7 @@ func TestDatabaseErrorHandled(t *testing.T) {
 
 	// Assert that there was an error message published
 	var errorMsg entity.MessageStruct
-	json.Unmarshal(ts.mockBroker.Messages["mock-queue"][1].Body, &errorMsg)
+	json.Unmarshal(ts.mockBroker.Messages["mock-queue"][5].Body, &errorMsg)
 	assert.Equal(t, "query_database_error", errorMsg.Type)
 
 	// Turn of error throwing in request service
@@ -216,6 +220,7 @@ func TestQueryConversionErrorHandled(t *testing.T) {
 	headers := make(map[string]interface{})
 	headers["clientID"] = "mock-client"
 	headers["sessionID"] = "mock-session"
+	headers["queryID"] = "mock-query"
 	mockMessage := broker.Message{
 		Headers: headers,
 		Body: []byte(`{
@@ -252,7 +257,7 @@ func TestQueryConversionErrorHandled(t *testing.T) {
 
 	// Assert that there was an error message published
 	var errorMsg entity.MessageStruct
-	json.Unmarshal(ts.mockBroker.Messages["mock-queue"][0].Body, &errorMsg)
+	json.Unmarshal(ts.mockBroker.Messages["mock-queue"][2].Body, &errorMsg)
 	assert.Equal(t, "query_translation_error", errorMsg.Type)
 }
 
@@ -263,6 +268,7 @@ func TestNoDatabaseNameHandled(t *testing.T) {
 	headers := make(map[string]interface{})
 	headers["clientID"] = "mock-client"
 	headers["sessionID"] = "mock-session"
+	headers["queryID"] = "mock-query"
 	mockMessage := broker.Message{
 		Headers: headers,
 		Body: []byte(`{
@@ -284,7 +290,7 @@ func TestNoDatabaseNameHandled(t *testing.T) {
 
 	// Assert that there was an error message published
 	var errorMsg entity.MessageStruct
-	json.Unmarshal(ts.mockBroker.Messages["mock-queue"][0].Body, &errorMsg)
+	json.Unmarshal(ts.mockBroker.Messages["mock-queue"][1].Body, &errorMsg)
 	assert.Equal(t, "query_malformed_request_error", errorMsg.Type)
 	assert.Equal(t, "no database name supplied", errorMsg.Value)
 }
-- 
GitLab