mirror of
https://git.rwth-aachen.de/acs/public/villas/web-backend-go/
synced 2025-03-30 00:00:12 +01:00
WIP: scenario tests and IC tests independent of hard coded data #44
This commit is contained in:
parent
616a1c74dc
commit
d1cb79ffba
4 changed files with 128 additions and 390 deletions
|
@ -24,7 +24,6 @@ package helper
|
|||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"git.rwth-aachen.de/acs/public/villas/web-backend-go/configuration"
|
||||
"git.rwth-aachen.de/acs/public/villas/web-backend-go/database"
|
||||
"github.com/jinzhu/gorm/dialects/postgres"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
|
@ -63,10 +62,13 @@ var StrPasswordC = "guestpw"
|
|||
|
||||
// Hash passwords with bcrypt algorithm
|
||||
var bcryptCost = 10
|
||||
var pw0, _ = bcrypt.GenerateFromPassword([]byte(StrPassword0), bcryptCost)
|
||||
var pwA, _ = bcrypt.GenerateFromPassword([]byte(StrPasswordA), bcryptCost)
|
||||
var pwB, _ = bcrypt.GenerateFromPassword([]byte(StrPasswordB), bcryptCost)
|
||||
var pwC, _ = bcrypt.GenerateFromPassword([]byte(StrPasswordC), bcryptCost)
|
||||
|
||||
var User0 = database.User{Username: "User_0", Password: string(pw0),
|
||||
Role: "Admin", Mail: "User_0@example.com"}
|
||||
var UserA = database.User{Username: "User_A", Password: string(pwA),
|
||||
Role: "User", Mail: "User_A@example.com", Active: true}
|
||||
var UserB = database.User{Username: "User_B", Password: string(pwB),
|
||||
|
@ -83,27 +85,6 @@ type UserRequest struct {
|
|||
Active string `json:"active,omitempty"`
|
||||
}
|
||||
|
||||
var NewUserA = UserRequest{
|
||||
Username: UserA.Username,
|
||||
Password: StrPasswordA,
|
||||
Role: UserA.Role,
|
||||
Mail: UserA.Mail,
|
||||
}
|
||||
|
||||
var NewUserB = UserRequest{
|
||||
Username: UserB.Username,
|
||||
Password: StrPasswordB,
|
||||
Role: UserB.Role,
|
||||
Mail: UserB.Mail,
|
||||
}
|
||||
|
||||
var NewUserC = UserRequest{
|
||||
Username: UserC.Username,
|
||||
Password: StrPasswordC,
|
||||
Role: UserC.Role,
|
||||
Mail: UserC.Mail,
|
||||
}
|
||||
|
||||
// Infrastructure components
|
||||
|
||||
var propertiesA = json.RawMessage(`{"prop1" : "a nice prop"}`)
|
||||
|
@ -148,11 +129,6 @@ var ScenarioA = database.Scenario{
|
|||
Running: true,
|
||||
StartParameters: postgres.Jsonb{startParametersA},
|
||||
}
|
||||
var ScenarioB = database.Scenario{
|
||||
Name: "Scenario_B",
|
||||
Running: false,
|
||||
StartParameters: postgres.Jsonb{startParametersB},
|
||||
}
|
||||
|
||||
// Component Configuration
|
||||
|
||||
|
@ -184,27 +160,6 @@ var OutSignalB = database.Signal{
|
|||
Unit: "V",
|
||||
}
|
||||
|
||||
var OutSignalC = database.Signal{
|
||||
Name: "outSignal_C",
|
||||
Direction: "out",
|
||||
Index: 3,
|
||||
Unit: "---",
|
||||
}
|
||||
|
||||
var OutSignalD = database.Signal{
|
||||
Name: "outSignal_D",
|
||||
Direction: "out",
|
||||
Index: 4,
|
||||
Unit: "---",
|
||||
}
|
||||
|
||||
var OutSignalE = database.Signal{
|
||||
Name: "outSignal_E",
|
||||
Direction: "out",
|
||||
Index: 5,
|
||||
Unit: "---",
|
||||
}
|
||||
|
||||
var InSignalA = database.Signal{
|
||||
Name: "inSignal_A",
|
||||
Direction: "in",
|
||||
|
@ -231,11 +186,8 @@ var DashboardB = database.Dashboard{
|
|||
}
|
||||
|
||||
// Widgets
|
||||
var customPropertiesBox = json.RawMessage(`{"border_color" : "#4287f5", "border_color_opacity": 1, "background_color" : "#961520", "background_color_opacity" : 1}`)
|
||||
var customPropertiesSlider = json.RawMessage(`{"default_value" : 0, "orientation" : 0, "rangeUseMinMax": false, "rangeMin" : 0, "rangeMax": 200, "rangeUseMinMax" : true, "showUnit": true, "continous_update": false, "value": "", "resizeLeftRightLock": false, "resizeTopBottomLock": true, "step": 0.1 }`)
|
||||
var customPropertiesLabel = json.RawMessage(`{"textSize" : "20", "fontColor" : "#4287f5", "fontColor_opacity": 1}`)
|
||||
var customPropertiesButton = json.RawMessage(`{"pressed": false, "toggle" : false, "on_value" : 1, "off_value" : 0, "background_color": "#961520", "font_color": "#4287f5", "border_color": "#4287f5", "background_color_opacity": 1}`)
|
||||
var customPropertiesLamp = json.RawMessage(`{"signal" : 0, "on_color" : "#4287f5", "off_color": "#961520", "threshold" : 0.5, "on_color_opacity": 1, "off_color_opacity": 1}`)
|
||||
|
||||
var WidgetA = database.Widget{
|
||||
Name: "Label",
|
||||
|
@ -267,51 +219,6 @@ var WidgetB = database.Widget{
|
|||
SignalIDs: []int64{},
|
||||
}
|
||||
|
||||
var WidgetC = database.Widget{
|
||||
Name: "Box",
|
||||
Type: "Box",
|
||||
Width: 200,
|
||||
Height: 200,
|
||||
MinHeight: 10,
|
||||
MinWidth: 50,
|
||||
X: 300,
|
||||
Y: 10,
|
||||
Z: 0,
|
||||
IsLocked: false,
|
||||
CustomProperties: postgres.Jsonb{customPropertiesBox},
|
||||
SignalIDs: []int64{},
|
||||
}
|
||||
|
||||
var WidgetD = database.Widget{
|
||||
Name: "Button",
|
||||
Type: "Button",
|
||||
Width: 100,
|
||||
Height: 100,
|
||||
MinHeight: 50,
|
||||
MinWidth: 100,
|
||||
X: 10,
|
||||
Y: 50,
|
||||
Z: 0,
|
||||
IsLocked: false,
|
||||
CustomProperties: postgres.Jsonb{customPropertiesButton},
|
||||
SignalIDs: []int64{},
|
||||
}
|
||||
|
||||
var WidgetE = database.Widget{
|
||||
Name: "Lamp",
|
||||
Type: "Lamp",
|
||||
Width: 200,
|
||||
Height: 20,
|
||||
MinHeight: 10,
|
||||
MinWidth: 50,
|
||||
X: 50,
|
||||
Y: 300,
|
||||
Z: 0,
|
||||
IsLocked: false,
|
||||
CustomProperties: postgres.Jsonb{customPropertiesLamp},
|
||||
SignalIDs: []int64{},
|
||||
}
|
||||
|
||||
func ReadTestDataFromJson(path string) error {
|
||||
|
||||
jsonFile, err := os.Open(path)
|
||||
|
@ -334,40 +241,18 @@ func ReadTestDataFromJson(path string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// add default admin user, normal users and a guest to the DB
|
||||
// add test users defined above
|
||||
func AddTestUsers() error {
|
||||
|
||||
err := ReadTestDataFromJson("../../testdata/testdata.json")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
//create a copy of global test data
|
||||
if len(GlobalTestData.Users) == 0 {
|
||||
return fmt.Errorf("no users in test data")
|
||||
}
|
||||
|
||||
testUsers := []database.User{User0, UserA, UserB, UserC}
|
||||
database.DBpool.AutoMigrate(&database.User{})
|
||||
err, _ = database.DBAddAdminUser(configuration.GlobalConfig)
|
||||
|
||||
for _, user := range testUsers {
|
||||
err := database.DBpool.Create(&user).Error
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, user := range GlobalTestData.Users {
|
||||
if user.Role != "Admin" {
|
||||
// add users to DB that are not admin users
|
||||
var newUser database.User
|
||||
newUser.Username = user.Username
|
||||
newUser.Role = user.Role
|
||||
newUser.Mail = user.Mail
|
||||
|
||||
pwEnc, _ := bcrypt.GenerateFromPassword([]byte(user.Password), 10)
|
||||
newUser.Password = string(pwEnc)
|
||||
err = database.DBpool.Create(&newUser).Error
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
@ -46,8 +46,8 @@ type Credentials struct {
|
|||
}
|
||||
|
||||
var AdminCredentials = Credentials{
|
||||
Username: "admin",
|
||||
Password: "xyz789",
|
||||
Username: "User_0",
|
||||
Password: StrPassword0,
|
||||
}
|
||||
|
||||
var UserACredentials = Credentials{
|
||||
|
|
|
@ -89,6 +89,34 @@ type ICAction struct {
|
|||
} `json:"properties,omitempty"`
|
||||
}
|
||||
|
||||
var newIC1 = ICRequest{
|
||||
UUID: "7be0322d-354e-431e-84bd-ae4c9633138b",
|
||||
WebsocketURL: "https://villas.k8s.eonerc.rwth-aachen.de/ws/ws_sig",
|
||||
APIURL: "https://villas.k8s.eonerc.rwth-aachen.de/ws/api/v2",
|
||||
Type: "villas-node",
|
||||
Name: "ACS Demo Signals",
|
||||
Category: "gateway",
|
||||
State: "idle",
|
||||
Location: "k8s",
|
||||
Description: "A signal generator for testing purposes",
|
||||
StartParameterScheme: postgres.Jsonb{json.RawMessage(`{"prop1" : "a nice prop"}`)},
|
||||
ManagedExternally: newFalse(),
|
||||
}
|
||||
|
||||
var newIC2 = ICRequest{
|
||||
UUID: "4854af30-325f-44a5-ad59-b67b2597de68",
|
||||
WebsocketURL: "xxx.yyy.zzz.aaa",
|
||||
APIURL: "https://villas.k8s.eonerc.rwth-aachen.de/ws/api/v2",
|
||||
Type: "dpsim",
|
||||
Name: "Test DPsim Simulator",
|
||||
Category: "simulator",
|
||||
State: "running",
|
||||
Location: "k8s",
|
||||
Description: "This is a test description",
|
||||
StartParameterScheme: postgres.Jsonb{json.RawMessage(`{"prop1" : "a nice prop"}`)},
|
||||
ManagedExternally: newTrue(),
|
||||
}
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
err := configuration.InitConfig()
|
||||
if err != nil {
|
||||
|
@ -152,7 +180,7 @@ func TestAddICAsAdmin(t *testing.T) {
|
|||
// try to POST malformed IC (required fields missing, validation should fail)
|
||||
// should result in an unprocessable entity
|
||||
newMalformedIC := ICRequest{
|
||||
UUID: helper.ICB.UUID,
|
||||
UUID: newIC2.UUID,
|
||||
}
|
||||
code, resp, err = helper.TestEndpoint(router, token,
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newMalformedIC})
|
||||
|
@ -160,26 +188,13 @@ func TestAddICAsAdmin(t *testing.T) {
|
|||
assert.Equalf(t, 422, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// test POST ic/ $newIC
|
||||
newIC := ICRequest{
|
||||
UUID: helper.ICA.UUID,
|
||||
WebsocketURL: helper.ICA.WebsocketURL,
|
||||
APIURL: helper.ICB.APIURL,
|
||||
Type: helper.ICA.Type,
|
||||
Name: helper.ICA.Name,
|
||||
Category: helper.ICA.Category,
|
||||
State: helper.ICA.State,
|
||||
Location: helper.ICA.Location,
|
||||
Description: helper.ICA.Description,
|
||||
StartParameterScheme: helper.ICA.StartParameterScheme,
|
||||
ManagedExternally: newFalse(),
|
||||
}
|
||||
code, resp, err = helper.TestEndpoint(router, token,
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC})
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// Compare POST's response with the newIC
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newIC})
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Read newIC's ID from the response
|
||||
|
@ -194,7 +209,7 @@ func TestAddICAsAdmin(t *testing.T) {
|
|||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// Compare GET's response with the newIC
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newIC})
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Try to GET a IC that does not exist
|
||||
|
@ -204,28 +219,14 @@ func TestAddICAsAdmin(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 404, code, "Response body: \n%v\n", resp)
|
||||
|
||||
newExternalIC := ICRequest{
|
||||
UUID: helper.ICB.UUID,
|
||||
WebsocketURL: helper.ICB.WebsocketURL,
|
||||
APIURL: helper.ICB.APIURL,
|
||||
Type: helper.ICB.Type,
|
||||
Name: helper.ICB.Name,
|
||||
Category: helper.ICB.Category,
|
||||
State: helper.ICB.State,
|
||||
Location: helper.ICB.Location,
|
||||
Description: helper.ICB.Description,
|
||||
StartParameterScheme: helper.ICB.StartParameterScheme,
|
||||
ManagedExternally: newTrue(),
|
||||
}
|
||||
|
||||
// test creation of external IC (should lead to emission of AMQP message to VILLAS)
|
||||
code, resp, err = helper.TestEndpoint(router, token,
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newExternalIC})
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC2})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// Compare POST's response with the newExternalIC
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newExternalIC})
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newIC2})
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
|
@ -240,23 +241,10 @@ func TestAddICAsUser(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
// test POST ic/ $newIC
|
||||
newIC := ICRequest{
|
||||
UUID: helper.ICA.UUID,
|
||||
WebsocketURL: helper.ICA.WebsocketURL,
|
||||
Type: helper.ICA.Type,
|
||||
Name: helper.ICA.Name,
|
||||
Category: helper.ICA.Category,
|
||||
State: helper.ICA.State,
|
||||
Location: helper.ICA.Location,
|
||||
Description: helper.ICA.Description,
|
||||
StartParameterScheme: helper.ICA.StartParameterScheme,
|
||||
ManagedExternally: newFalse(),
|
||||
}
|
||||
|
||||
// This should fail with unprocessable entity 422 error code
|
||||
// Normal users are not allowed to add ICs
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC})
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 422, code, "Response body: \n%v\n", resp)
|
||||
}
|
||||
|
@ -272,25 +260,13 @@ func TestUpdateICAsAdmin(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
// test POST ic/ $newIC
|
||||
newIC := ICRequest{
|
||||
UUID: helper.ICA.UUID,
|
||||
WebsocketURL: helper.ICA.WebsocketURL,
|
||||
Type: helper.ICA.Type,
|
||||
Name: helper.ICA.Name,
|
||||
Category: helper.ICA.Category,
|
||||
State: helper.ICA.State,
|
||||
Location: helper.ICA.Location,
|
||||
Description: helper.ICA.Description,
|
||||
StartParameterScheme: helper.ICA.StartParameterScheme,
|
||||
ManagedExternally: newFalse(),
|
||||
}
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC})
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// Compare POST's response with the newIC
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newIC})
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Read newIC's ID from the response
|
||||
|
@ -305,14 +281,14 @@ func TestUpdateICAsAdmin(t *testing.T) {
|
|||
assert.Equalf(t, 400, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// Test PUT IC
|
||||
newIC.WebsocketURL = "ThisIsMyNewURL"
|
||||
newIC1.WebsocketURL = "ThisIsMyNewURL"
|
||||
code, resp, err = helper.TestEndpoint(router, token,
|
||||
fmt.Sprintf("/api/ic/%v", newICID), "PUT", helper.KeyModels{"ic": newIC})
|
||||
fmt.Sprintf("/api/ic/%v", newICID), "PUT", helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// Compare PUT's response with the updated newIC
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newIC})
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Get the updated newIC
|
||||
|
@ -323,7 +299,7 @@ func TestUpdateICAsAdmin(t *testing.T) {
|
|||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// Compare GET's response with the updated newIC
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newIC})
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
|
||||
// fake an IC update (create) message
|
||||
|
@ -332,18 +308,18 @@ func TestUpdateICAsAdmin(t *testing.T) {
|
|||
update.Status.State = new(string)
|
||||
*update.Status.State = "idle"
|
||||
update.Status.Name = new(string)
|
||||
*update.Status.Name = helper.ICB.Name
|
||||
*update.Status.Name = newIC2.Name
|
||||
update.Status.Category = new(string)
|
||||
*update.Status.Category = helper.ICB.Category
|
||||
*update.Status.Category = newIC2.Category
|
||||
update.Status.Type = new(string)
|
||||
*update.Status.Type = helper.ICB.Type
|
||||
*update.Status.Type = newIC2.Type
|
||||
|
||||
payload, err := json.Marshal(update)
|
||||
assert.NoError(t, err)
|
||||
|
||||
var headers map[string]interface{}
|
||||
headers = make(map[string]interface{}) // empty map
|
||||
headers["uuid"] = helper.ICB.UUID // set uuid
|
||||
headers["uuid"] = newIC2.UUID // set uuid
|
||||
|
||||
msg := amqp.Publishing{
|
||||
DeliveryMode: 2,
|
||||
|
@ -390,20 +366,8 @@ func TestUpdateICAsUser(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
// test POST ic/ $newIC
|
||||
newIC := ICRequest{
|
||||
UUID: helper.ICA.UUID,
|
||||
WebsocketURL: helper.ICA.WebsocketURL,
|
||||
Type: helper.ICA.Type,
|
||||
Name: helper.ICA.Name,
|
||||
Category: helper.ICA.Category,
|
||||
State: helper.ICA.State,
|
||||
Location: helper.ICA.Location,
|
||||
Description: helper.ICA.Description,
|
||||
StartParameterScheme: helper.ICA.StartParameterScheme,
|
||||
ManagedExternally: newFalse(),
|
||||
}
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC})
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -418,9 +382,9 @@ func TestUpdateICAsUser(t *testing.T) {
|
|||
|
||||
// Test PUT IC
|
||||
// This should fail with unprocessable entity status code 422
|
||||
newIC.WebsocketURL = "ThisIsMyNewURL"
|
||||
newIC1.WebsocketURL = "ThisIsMyNewURL2"
|
||||
code, resp, err = helper.TestEndpoint(router, token,
|
||||
fmt.Sprintf("/api/ic/%v", newICID), "PUT", helper.KeyModels{"ic": newIC})
|
||||
fmt.Sprintf("/api/ic/%v", newICID), "PUT", helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 422, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -437,20 +401,8 @@ func TestDeleteICAsAdmin(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
// test POST ic/ $newIC
|
||||
newIC := ICRequest{
|
||||
UUID: helper.ICA.UUID,
|
||||
WebsocketURL: helper.ICA.WebsocketURL,
|
||||
Type: helper.ICA.Type,
|
||||
Name: helper.ICA.Name,
|
||||
Category: helper.ICA.Category,
|
||||
State: helper.ICA.State,
|
||||
Location: helper.ICA.Location,
|
||||
Description: helper.ICA.Description,
|
||||
StartParameterScheme: helper.ICA.StartParameterScheme,
|
||||
ManagedExternally: newFalse(),
|
||||
}
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC})
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -470,7 +422,7 @@ func TestDeleteICAsAdmin(t *testing.T) {
|
|||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// Compare DELETE's response with the newIC
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newIC})
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Again count the number of all the ICs returned
|
||||
|
@ -486,18 +438,18 @@ func TestDeleteICAsAdmin(t *testing.T) {
|
|||
update.Status.State = new(string)
|
||||
*update.Status.State = "idle"
|
||||
update.Status.Name = new(string)
|
||||
*update.Status.Name = helper.ICB.Name
|
||||
*update.Status.Name = newIC2.Name
|
||||
update.Status.Category = new(string)
|
||||
*update.Status.Category = helper.ICB.Category
|
||||
*update.Status.Category = newIC2.Category
|
||||
update.Status.Type = new(string)
|
||||
*update.Status.Type = helper.ICB.Type
|
||||
*update.Status.Type = newIC2.Type
|
||||
|
||||
payload, err := json.Marshal(update)
|
||||
assert.NoError(t, err)
|
||||
|
||||
var headers map[string]interface{}
|
||||
headers = make(map[string]interface{}) // empty map
|
||||
headers["uuid"] = helper.ICB.UUID // set uuid
|
||||
headers["uuid"] = newIC2.UUID // set uuid
|
||||
|
||||
msg := amqp.Publishing{
|
||||
DeliveryMode: 2,
|
||||
|
@ -548,20 +500,8 @@ func TestDeleteICAsUser(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
// test POST ic/ $newIC
|
||||
newIC := ICRequest{
|
||||
UUID: helper.ICA.UUID,
|
||||
WebsocketURL: helper.ICA.WebsocketURL,
|
||||
Type: helper.ICA.Type,
|
||||
Name: helper.ICA.Name,
|
||||
Category: helper.ICA.Category,
|
||||
State: helper.ICA.State,
|
||||
Location: helper.ICA.Location,
|
||||
Description: helper.ICA.Description,
|
||||
StartParameterScheme: helper.ICA.StartParameterScheme,
|
||||
ManagedExternally: newFalse(),
|
||||
}
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC})
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -576,7 +516,7 @@ func TestDeleteICAsUser(t *testing.T) {
|
|||
|
||||
// Test DELETE ICs
|
||||
// This should fail with unprocessable entity status code 422
|
||||
newIC.WebsocketURL = "ThisIsMyNewURL"
|
||||
newIC1.WebsocketURL = "ThisIsMyNewURL3"
|
||||
code, resp, err = helper.TestEndpoint(router, token,
|
||||
fmt.Sprintf("/api/ic/%v", newICID), "DELETE", nil)
|
||||
assert.NoError(t, err)
|
||||
|
@ -599,39 +539,15 @@ func TestGetAllICs(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
// test POST ic/ $newICA
|
||||
newICA := ICRequest{
|
||||
UUID: helper.ICA.UUID,
|
||||
WebsocketURL: helper.ICA.WebsocketURL,
|
||||
Type: helper.ICA.Type,
|
||||
Name: helper.ICA.Name,
|
||||
Category: helper.ICA.Category,
|
||||
State: helper.ICA.State,
|
||||
Location: helper.ICA.Location,
|
||||
Description: helper.ICA.Description,
|
||||
StartParameterScheme: helper.ICA.StartParameterScheme,
|
||||
ManagedExternally: newFalse(),
|
||||
}
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newICA})
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// test POST ic/ $newICB
|
||||
newICB := ICRequest{
|
||||
UUID: helper.ICB.UUID,
|
||||
WebsocketURL: helper.ICB.WebsocketURL,
|
||||
Type: helper.ICB.Type,
|
||||
Name: helper.ICB.Name,
|
||||
Category: helper.ICB.Category,
|
||||
State: helper.ICB.State,
|
||||
Location: helper.ICB.Location,
|
||||
Description: helper.ICB.Description,
|
||||
StartParameterScheme: helper.ICB.StartParameterScheme,
|
||||
ManagedExternally: newFalse(),
|
||||
}
|
||||
|
||||
code, resp, err = helper.TestEndpoint(router, token,
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newICB})
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -666,20 +582,8 @@ func TestGetConfigsOfIC(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
// test POST ic/ $newICA
|
||||
newICA := ICRequest{
|
||||
UUID: helper.ICA.UUID,
|
||||
WebsocketURL: helper.ICA.WebsocketURL,
|
||||
Type: helper.ICA.Type,
|
||||
Name: helper.ICA.Name,
|
||||
Category: helper.ICA.Category,
|
||||
State: helper.ICA.State,
|
||||
Location: helper.ICA.Location,
|
||||
Description: helper.ICA.Description,
|
||||
StartParameterScheme: helper.ICA.StartParameterScheme,
|
||||
ManagedExternally: newFalse(),
|
||||
}
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newICA})
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -727,20 +631,8 @@ func TestSendActionToIC(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
// test POST ic/ $newICA
|
||||
newICA := ICRequest{
|
||||
UUID: helper.ICA.UUID,
|
||||
WebsocketURL: helper.ICA.WebsocketURL,
|
||||
Type: helper.ICA.Type,
|
||||
Name: helper.ICA.Name,
|
||||
Category: helper.ICA.Category,
|
||||
State: helper.ICA.State,
|
||||
Location: helper.ICA.Location,
|
||||
Description: helper.ICA.Description,
|
||||
StartParameterScheme: helper.ICA.StartParameterScheme,
|
||||
ManagedExternally: newFalse(),
|
||||
}
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newICA})
|
||||
"/api/ic", "POST", helper.KeyModels{"ic": newIC1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -754,7 +646,7 @@ func TestSendActionToIC(t *testing.T) {
|
|||
When: time.Now().Unix(),
|
||||
}
|
||||
action1.Properties.UUID = new(string)
|
||||
*action1.Properties.UUID = newICA.UUID
|
||||
*action1.Properties.UUID = newIC1.UUID
|
||||
actions := [1]ICAction{action1}
|
||||
|
||||
// Send action to IC
|
||||
|
@ -792,7 +684,7 @@ func TestCreateUpdateViaAMQPRecv(t *testing.T) {
|
|||
|
||||
var headers map[string]interface{}
|
||||
headers = make(map[string]interface{}) // empty map
|
||||
headers["uuid"] = helper.ICB.UUID // set uuid
|
||||
headers["uuid"] = newIC2.UUID // set uuid
|
||||
|
||||
msg := amqp.Publishing{
|
||||
DeliveryMode: 2,
|
||||
|
@ -824,28 +716,28 @@ func TestCreateUpdateViaAMQPRecv(t *testing.T) {
|
|||
|
||||
// complete the (required) data of an IC
|
||||
update.Status.Name = new(string)
|
||||
*update.Status.Name = helper.ICA.Name
|
||||
*update.Status.Name = newIC1.Name
|
||||
update.Status.Category = new(string)
|
||||
*update.Status.Category = helper.ICA.Category
|
||||
*update.Status.Category = newIC1.Category
|
||||
update.Status.Type = new(string)
|
||||
*update.Status.Type = helper.ICA.Type
|
||||
*update.Status.Type = newIC1.Type
|
||||
update.Status.Uptime = new(float64)
|
||||
*update.Status.Uptime = -1.0
|
||||
update.Status.WS_url = new(string)
|
||||
*update.Status.WS_url = helper.ICA.WebsocketURL
|
||||
*update.Status.WS_url = newIC1.WebsocketURL
|
||||
update.Status.API_url = new(string)
|
||||
*update.Status.API_url = helper.ICA.APIURL
|
||||
*update.Status.API_url = newIC1.APIURL
|
||||
update.Status.Description = new(string)
|
||||
*update.Status.Description = helper.ICA.Description
|
||||
*update.Status.Description = newIC1.Description
|
||||
update.Status.Location = new(string)
|
||||
*update.Status.Location = helper.ICA.Location
|
||||
*update.Status.Location = newIC1.Location
|
||||
|
||||
payload, err = json.Marshal(update)
|
||||
assert.NoError(t, err)
|
||||
|
||||
var headersA map[string]interface{}
|
||||
headersA = make(map[string]interface{}) // empty map
|
||||
headersA["uuid"] = helper.ICA.UUID
|
||||
headersA["uuid"] = newIC1.UUID
|
||||
|
||||
msg = amqp.Publishing{
|
||||
DeliveryMode: 2,
|
||||
|
@ -922,28 +814,28 @@ func TestDeleteICViaAMQPRecv(t *testing.T) {
|
|||
*update.Status.State = "idle"
|
||||
// complete the (required) data of an IC
|
||||
update.Status.Name = new(string)
|
||||
*update.Status.Name = helper.ICA.Name
|
||||
*update.Status.Name = newIC1.Name
|
||||
update.Status.Category = new(string)
|
||||
*update.Status.Category = helper.ICA.Category
|
||||
*update.Status.Category = newIC1.Category
|
||||
update.Status.Type = new(string)
|
||||
*update.Status.Type = helper.ICA.Type
|
||||
*update.Status.Type = newIC1.Type
|
||||
update.Status.Uptime = new(float64)
|
||||
*update.Status.Uptime = -1.0
|
||||
update.Status.WS_url = new(string)
|
||||
*update.Status.WS_url = helper.ICA.WebsocketURL
|
||||
*update.Status.WS_url = newIC1.WebsocketURL
|
||||
update.Status.API_url = new(string)
|
||||
*update.Status.API_url = helper.ICA.APIURL
|
||||
*update.Status.API_url = newIC1.APIURL
|
||||
update.Status.Description = new(string)
|
||||
*update.Status.Description = helper.ICA.Description
|
||||
*update.Status.Description = newIC1.Description
|
||||
update.Status.Location = new(string)
|
||||
*update.Status.Location = helper.ICA.Location
|
||||
*update.Status.Location = newIC1.Location
|
||||
|
||||
payload, err := json.Marshal(update)
|
||||
assert.NoError(t, err)
|
||||
|
||||
var headers map[string]interface{}
|
||||
headers = make(map[string]interface{}) // empty map
|
||||
headers["uuid"] = helper.ICB.UUID // set uuid
|
||||
headers["uuid"] = newIC2.UUID // set uuid
|
||||
|
||||
msg := amqp.Publishing{
|
||||
DeliveryMode: 2,
|
||||
|
@ -974,9 +866,9 @@ func TestDeleteICViaAMQPRecv(t *testing.T) {
|
|||
|
||||
// add scenario
|
||||
newScenario := ScenarioRequest{
|
||||
Name: helper.ScenarioA.Name,
|
||||
Running: helper.ScenarioA.Running,
|
||||
StartParameters: helper.ScenarioA.StartParameters,
|
||||
Name: "ScenarioA",
|
||||
Running: true,
|
||||
StartParameters: postgres.Jsonb{RawMessage: json.RawMessage(`{"parameter1" : "testValue1B", "parameter2" : "testValue2B", "parameter3" : 55}`)},
|
||||
}
|
||||
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
|
@ -994,11 +886,11 @@ func TestDeleteICViaAMQPRecv(t *testing.T) {
|
|||
|
||||
// Add component config and associate with IC and scenario
|
||||
newConfig := ConfigRequest{
|
||||
Name: helper.ConfigA.Name,
|
||||
Name: "ConfigA",
|
||||
ScenarioID: uint(newScenarioID),
|
||||
ICID: 1,
|
||||
StartParameters: helper.ConfigA.StartParameters,
|
||||
FileIDs: helper.ConfigA.FileIDs,
|
||||
StartParameters: postgres.Jsonb{json.RawMessage(`{"parameter1" : "testValue1B", "parameter2" : "testValue2B", "parameter3" : 55}`)},
|
||||
FileIDs: []int64{},
|
||||
}
|
||||
|
||||
code, resp, err = helper.TestEndpoint(router, token,
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
package scenario
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
|
@ -51,6 +52,18 @@ type UserRequest struct {
|
|||
Active string `json:"active,omitempty"`
|
||||
}
|
||||
|
||||
var newScenario1 = ScenarioRequest{
|
||||
Name: "Scenario1",
|
||||
Running: true,
|
||||
StartParameters: postgres.Jsonb{json.RawMessage(`{"parameter1" : "testValue1A", "parameter2" : "testValue2A", "parameter3" : 42}`)},
|
||||
}
|
||||
|
||||
var newScenario2 = ScenarioRequest{
|
||||
Name: "Scenario2",
|
||||
Running: false,
|
||||
StartParameters: postgres.Jsonb{json.RawMessage(`{"parameter1" : "testValue1B", "parameter2" : "testValue2B", "parameter3" : 55}`)},
|
||||
}
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
err := configuration.InitConfig()
|
||||
if err != nil {
|
||||
|
@ -82,12 +95,6 @@ func TestAddScenario(t *testing.T) {
|
|||
database.MigrateModels()
|
||||
assert.NoError(t, helper.AddTestUsers())
|
||||
|
||||
newScenario := ScenarioRequest{
|
||||
Name: helper.ScenarioA.Name,
|
||||
Running: helper.ScenarioA.Running,
|
||||
StartParameters: helper.ScenarioA.StartParameters,
|
||||
}
|
||||
|
||||
// authenticate as normal user
|
||||
token, err := helper.AuthenticateForTest(router,
|
||||
"/api/authenticate", "POST", helper.UserACredentials)
|
||||
|
@ -102,12 +109,12 @@ func TestAddScenario(t *testing.T) {
|
|||
|
||||
// test POST scenarios/ $newScenario as normal user
|
||||
code, resp, err = helper.TestEndpoint(router, token,
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario})
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// Compare POST's response with the newScenario
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"scenario": newScenario})
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"scenario": newScenario1})
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Read newScenario's ID from the response
|
||||
|
@ -121,7 +128,7 @@ func TestAddScenario(t *testing.T) {
|
|||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// Compare GET's response with the newScenario
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"scenario": newScenario})
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"scenario": newScenario1})
|
||||
assert.NoError(t, err)
|
||||
|
||||
// try to POST a malformed scenario
|
||||
|
@ -150,7 +157,7 @@ func TestAddScenario(t *testing.T) {
|
|||
// try to add scenario as guest user
|
||||
// should return an unprocessable entity error
|
||||
code, resp, err = helper.TestEndpoint(router, token,
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario})
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 422, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -190,18 +197,13 @@ func TestUpdateScenario(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
// test POST scenarios/ $newScenario
|
||||
newScenario := ScenarioRequest{
|
||||
Name: helper.ScenarioA.Name,
|
||||
Running: helper.ScenarioA.Running,
|
||||
StartParameters: helper.ScenarioA.StartParameters,
|
||||
}
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario})
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// Compare POST's response with the newScenario
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"scenario": newScenario})
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"scenario": newScenario1})
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Read newScenario's ID from the response
|
||||
|
@ -269,14 +271,9 @@ func TestGetAllScenariosAsAdmin(t *testing.T) {
|
|||
"/api/authenticate", "POST", helper.UserBCredentials)
|
||||
assert.NoError(t, err)
|
||||
|
||||
// test POST scenarios/ $newScenarioB
|
||||
newScenarioB := ScenarioRequest{
|
||||
Name: helper.ScenarioB.Name,
|
||||
Running: helper.ScenarioB.Running,
|
||||
StartParameters: helper.ScenarioB.StartParameters,
|
||||
}
|
||||
// test POST scenarios/ $newScenario1
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenarioB})
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -285,14 +282,9 @@ func TestGetAllScenariosAsAdmin(t *testing.T) {
|
|||
"/api/authenticate", "POST", helper.UserACredentials)
|
||||
assert.NoError(t, err)
|
||||
|
||||
// test POST scenarios/ $newScenarioA
|
||||
newScenarioA := ScenarioRequest{
|
||||
Name: helper.ScenarioA.Name,
|
||||
Running: helper.ScenarioA.Running,
|
||||
StartParameters: helper.ScenarioA.StartParameters,
|
||||
}
|
||||
// test POST scenarios/ $newScenario2
|
||||
code, resp, err = helper.TestEndpoint(router, token,
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenarioA})
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario2})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -325,15 +317,9 @@ func TestGetAllScenariosAsUser(t *testing.T) {
|
|||
"/api/scenarios", "GET", nil)
|
||||
assert.NoError(t, err)
|
||||
|
||||
// test POST scenarios/ $newScenarioB
|
||||
newScenarioB := ScenarioRequest{
|
||||
Name: helper.ScenarioB.Name,
|
||||
Running: helper.ScenarioB.Running,
|
||||
StartParameters: helper.ScenarioB.StartParameters,
|
||||
}
|
||||
|
||||
// test POST scenarios/ $newScenario2
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenarioB})
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario2})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -342,14 +328,9 @@ func TestGetAllScenariosAsUser(t *testing.T) {
|
|||
"/api/authenticate", "POST", helper.UserACredentials)
|
||||
assert.NoError(t, err)
|
||||
|
||||
// test POST scenarios/ $newScenarioA
|
||||
newScenarioA := ScenarioRequest{
|
||||
Name: helper.ScenarioA.Name,
|
||||
Running: helper.ScenarioA.Running,
|
||||
StartParameters: helper.ScenarioA.StartParameters,
|
||||
}
|
||||
// test POST scenarios/ $newScenario1
|
||||
code, resp, err = helper.TestEndpoint(router, token,
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenarioA})
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -378,13 +359,8 @@ func TestDeleteScenario(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
// test POST scenarios/ $newScenario
|
||||
newScenario := ScenarioRequest{
|
||||
Name: helper.ScenarioA.Name,
|
||||
Running: helper.ScenarioA.Running,
|
||||
StartParameters: helper.ScenarioA.StartParameters,
|
||||
}
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario})
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -427,7 +403,7 @@ func TestDeleteScenario(t *testing.T) {
|
|||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
// Compare DELETE's response with the newScenario
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"scenario": newScenario})
|
||||
err = helper.CompareResponse(resp, helper.KeyModels{"scenario": newScenario1})
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Again count the number of all the scenarios returned
|
||||
|
@ -450,13 +426,8 @@ func TestAddUserToScenario(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
// test POST scenarios/ $newScenario
|
||||
newScenario := ScenarioRequest{
|
||||
Name: helper.ScenarioA.Name,
|
||||
Running: helper.ScenarioA.Running,
|
||||
StartParameters: helper.ScenarioA.StartParameters,
|
||||
}
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario})
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -535,13 +506,8 @@ func TestGetAllUsersOfScenario(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
// test POST scenarios/ $newScenario
|
||||
newScenario := ScenarioRequest{
|
||||
Name: helper.ScenarioA.Name,
|
||||
Running: helper.ScenarioA.Running,
|
||||
StartParameters: helper.ScenarioA.StartParameters,
|
||||
}
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario})
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
@ -620,13 +586,8 @@ func TestRemoveUserFromScenario(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
// test POST scenarios/ $newScenario
|
||||
newScenario := ScenarioRequest{
|
||||
Name: helper.ScenarioA.Name,
|
||||
Running: helper.ScenarioA.Running,
|
||||
StartParameters: helper.ScenarioA.StartParameters,
|
||||
}
|
||||
code, resp, err := helper.TestEndpoint(router, token,
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario})
|
||||
"/api/scenarios", "POST", helper.KeyModels{"scenario": newScenario1})
|
||||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 200, code, "Response body: \n%v\n", resp)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue