2 // ========================LICENSE_START=================================
5 // Copyright (C) 2023: Nordix Foundation
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
11 // http://www.apache.org/licenses/LICENSE-2.0
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
18 // ========================LICENSE_END===================================
26 "github.com/stretchr/testify/assert"
29 func TestValidateEventSubscription(t *testing.T) {
30 subUnderTest := EventSubscription{}
32 err := subUnderTest.Validate()
35 assert.Contains(t, err.Error(), "required")
36 assert.Contains(t, err.Error(), "events")
38 var invalidEventType CAPIFEvent = "invalid"
39 subUnderTest.Events = []CAPIFEvent{invalidEventType}
40 err = subUnderTest.Validate()
42 assert.Contains(t, err.Error(), "invalid")
43 assert.Contains(t, err.Error(), "events")
45 subUnderTest.Events = []CAPIFEvent{CAPIFEventAPIINVOKERONBOARDED}
46 err = subUnderTest.Validate()
48 assert.Contains(t, err.Error(), "missing")
49 assert.Contains(t, err.Error(), "notificationDestination")
51 subUnderTest.NotificationDestination = "invalid dest"
52 err = subUnderTest.Validate()
53 if assert.Error(t, err) {
54 assert.Contains(t, err.Error(), "invalid")
55 assert.Contains(t, err.Error(), "notificationDestination")
58 subUnderTest.NotificationDestination = "http://golang.cafe/"
59 err = subUnderTest.Validate()