b530c6be86f0417e95a83b69388855240f563584
[nonrtric.git] / test / usecases / odusliceassurance / goversion / main.go
1 // -
2 //   ========================LICENSE_START=================================
3 //   O-RAN-SC
4 //   %%
5 //   Copyright (C) 2021: Nordix Foundation
6 //   %%
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
10 //
11 //        http://www.apache.org/licenses/LICENSE-2.0
12 //
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===================================
19 //
20
21 package main
22
23 import (
24         "fmt"
25
26         log "github.com/sirupsen/logrus"
27         "oransc.org/usecase/oduclosedloop/internal/config"
28         "oransc.org/usecase/oduclosedloop/internal/sliceassurance"
29 )
30
31 const TOPIC string = "/events/unauthenticated.PERFORMANCE_MEASUREMENTS"
32
33 var configuration *config.Config
34
35 func main() {
36         configuration = config.New()
37
38         log.SetLevel(configuration.LogLevel)
39         log.SetFormatter(&log.JSONFormatter{})
40
41         log.Debug("Using configuration: ", configuration)
42
43         dmaapUrl := configuration.MRHost + ":" + configuration.MRPort
44
45         if err := validateConfiguration(configuration); err != nil {
46                 log.Fatalf("Unable to start consumer due to configuration error: %v", err)
47         }
48
49         a := sliceassurance.App{}
50         a.Initialize(dmaapUrl, configuration.SDNRAddress)
51         a.Run(TOPIC, configuration.Polltime)
52
53 }
54
55 func validateConfiguration(configuration *config.Config) error {
56         if configuration.MRHost == "" || configuration.MRPort == "" {
57                 return fmt.Errorf("message router host and port must be provided")
58         }
59         return nil
60 }