MCPcopy Create free account
hub / github.com/TheThingsNetwork/lorawan-stack / TestServer

Function TestServer

pkg/interop/server_test.go:81–365  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

79}
80
81func TestServer(t *testing.T) { //nolint:gocyclo
82 t.Parallel()
83
84 authorizer := interop.Authorizer{}
85
86 for _, tc := range []struct {
87 Name string
88 JS interop.JoinServer
89 ClientTLSConfig *tls.Config
90 PacketBrokerToken bool
91 RequestBody any
92 ResponseAssertion func(*assertions.Assertion, *http.Response) bool
93 }{
94 {
95 Name: "ClientTLS/Empty",
96 ClientTLSConfig: makeClientTLSConfig(),
97 ResponseAssertion: func(a *assertions.Assertion, res *http.Response) bool {
98 return a.So(res.StatusCode, should.Equal, http.StatusBadRequest)
99 },
100 },
101 {
102 Name: "ClientTLS/JoinReq/InvalidSenderID",
103 ClientTLSConfig: makeClientTLSConfig(),
104 RequestBody: &interop.JoinReq{
105 NsJsMessageHeader: interop.NsJsMessageHeader{
106 MessageHeader: interop.MessageHeader{
107 MessageType: interop.MessageTypeJoinReq,
108 ProtocolVersion: interop.ProtocolV1_0,
109 },
110 SenderID: interop.NetID{0x0, 0x0, 0x02},
111 ReceiverID: interop.EUI64{0x42, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
112 },
113 MACVersion: interop.MACVersion(ttnpb.MACVersion_MAC_V1_0_3),
114 },
115 ResponseAssertion: func(a *assertions.Assertion, res *http.Response) bool {
116 if !a.So(res.StatusCode, should.Equal, http.StatusOK) {
117 return false
118 }
119 var msg interop.ErrorMessage
120 err := json.NewDecoder(res.Body).Decode(&msg)
121 if !a.So(err, should.BeNil) {
122 return false
123 }
124 return a.So(msg.Result.ResultCode, should.Equal, interop.ResultUnknownSender)
125 },
126 },
127 {
128 Name: "ClientTLS/JoinReq/NotRegistered",
129 ClientTLSConfig: makeClientTLSConfig(),
130 RequestBody: &interop.JoinReq{
131 NsJsMessageHeader: interop.NsJsMessageHeader{
132 MessageHeader: interop.MessageHeader{
133 MessageType: interop.MessageTypeJoinReq,
134 ProtocolVersion: interop.ProtocolV1_0,
135 },
136 SenderID: interop.NetID{0x0, 0x0, 0x01},
137 ReceiverID: interop.EUI64{0x42, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
138 },

Callers

nothing calls this directly

Calls 15

RequireAuthorizedMethod · 0.95
RequireNetIDMethod · 0.95
RequireAddressMethod · 0.95
RegisterJSMethod · 0.95
MACVersionTypeAlias · 0.92
EUI64TypeAlias · 0.92
RunSubtestFunction · 0.92
NewServerFunction · 0.92
MustFunction · 0.92
makeClientTLSConfigFunction · 0.85
newTLSServerFunction · 0.85

Tested by

no test coverage detected