2 // Copyright 2019 AT&T Intellectual Property
3 // Copyright 2019 Nokia
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
28 const x2SetupRequestType = "x2-setup"
29 const endcSetupRequestType = "endc-setup"
34 func TestNewRequestHandlerProvider(t *testing.T) {
36 rnibWriterProvider := func() rNibWriter.RNibWriter {
37 return &mocks.RnibWriterMock{}
40 provider := NewRequestHandlerProvider(rnibWriterProvider)
42 t.Errorf("want: provider, got: nil")
47 * Verify support for known providers.
50 func TestGetX2SetupRequestHandler(t *testing.T) {
52 log, err := logger.InitLogger(logger.InfoLevel)
54 t.Errorf("failed to initialize logger, error: %s", err)
57 rnibWriterProvider := func() rNibWriter.RNibWriter {
58 return &mocks.RnibWriterMock{}
61 provider := NewRequestHandlerProvider(rnibWriterProvider)
63 handler, err := provider.GetHandler(log, x2SetupRequestType)
66 t.Errorf("failed to get x2 setup handler")
69 _, ok := handler.(*handlers.SetupRequestHandler)
72 t.Errorf("failed to get x2 setup handler")
76 func TestGetEndcSetupRequestHandler(t *testing.T) {
78 log, err := logger.InitLogger(logger.InfoLevel)
80 t.Errorf("failed to initialize logger, error: %s", err)
83 rnibWriterProvider := func() rNibWriter.RNibWriter {
84 return &mocks.RnibWriterMock{}
87 provider := NewRequestHandlerProvider(rnibWriterProvider)
89 handler, err := provider.GetHandler(log, endcSetupRequestType)
92 t.Errorf("failed to get endc setup handler")
95 _, ok := handler.(*handlers.EndcSetupRequestHandler)
98 t.Errorf("failed to get endc setup handler")
103 * Verify handling of a request for an unsupported request.
106 func TestGetHandlerFailure(t *testing.T) {
107 log, err := logger.InitLogger(logger.InfoLevel)
109 t.Errorf("failed to initialize logger, error: %s", err)
112 rnibWriterProvider := func() rNibWriter.RNibWriter {
113 return &mocks.RnibWriterMock{}
116 provider := NewRequestHandlerProvider(rnibWriterProvider)
118 _, err = provider.GetHandler(log, "dummy")
121 t.Errorf("Provider should had respond with error for dummy request type")