X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fusecases%2Foruclosedlooprecovery%2Fgoversion%2Fmain.go;h=c3d731f4c4015a1dd7378b7c1c459f07a31d54a3;hb=6b43426c2b52daa5ace5205b98d09e1871fa41d6;hp=b7d689549db8a1b7f40f66b9ef24344a61ad4cd0;hpb=200787a2e87c95b43f36c538e5d4ed5f5ca62d53;p=nonrtric.git diff --git a/test/usecases/oruclosedlooprecovery/goversion/main.go b/test/usecases/oruclosedlooprecovery/goversion/main.go index b7d68954..c3d731f4 100644 --- a/test/usecases/oruclosedlooprecovery/goversion/main.go +++ b/test/usecases/oruclosedlooprecovery/goversion/main.go @@ -37,20 +37,16 @@ import ( "oransc.org/usecase/oruclosedloop/internal/restclient" ) -type Server interface { - ListenAndServe() error -} - const jobId = "14e7bb84-a44d-44c1-90b7-6995a92ad43c" var jobRegistrationInfo = struct { - InfoTypeId string `json:"info_type_id"` - JobResultUri string `json:"job_result_uri"` + InfoTypeID string `json:"info_type_id"` + JobResultURI string `json:"job_result_uri"` JobOwner string `json:"job_owner"` JobDefinition interface{} `json:"job_definition"` }{ - InfoTypeId: "STD_Fault_Messages", - JobResultUri: "", + InfoTypeID: "STD_Fault_Messages", + JobResultURI: "", JobOwner: "O-RU Closed Loop Usecase", JobDefinition: "{}", } @@ -60,6 +56,7 @@ var configuration *config.Config var linkfailureConfig linkfailure.Configuration var lookupService repository.LookupService var consumerPort string +var started bool func init() { doInit() @@ -72,7 +69,7 @@ func doInit() { log.Debug("Using configuration: ", configuration) consumerPort = fmt.Sprint(configuration.ConsumerPort) - jobRegistrationInfo.JobResultUri = configuration.ConsumerHost + ":" + consumerPort + jobRegistrationInfo.JobResultURI = configuration.ConsumerHost + ":" + consumerPort linkfailureConfig = linkfailure.Configuration{ SDNRAddress: configuration.SDNRAddress, @@ -134,6 +131,7 @@ func getRouter() *mux.Router { r := mux.NewRouter() r.HandleFunc("/", messageHandler.MessagesHandler).Methods(http.MethodPost).Name("messageHandler") + r.HandleFunc("/status", statusHandler).Methods(http.MethodGet).Name("status") r.HandleFunc("/admin/start", startHandler).Methods(http.MethodPost).Name("start") r.HandleFunc("/admin/stop", stopHandler).Methods(http.MethodPost).Name("stop") @@ -150,7 +148,7 @@ func startServer() { if err != nil { log.Errorf("Server stopped unintentionally due to: %v. Deleteing job.", err) if deleteErr := deleteJob(); deleteErr != nil { - log.Error(fmt.Sprintf("Unable to delete consumer job due to: %v. Please remove job %v manually.", deleteErr, jobId)) + log.Errorf("Unable to delete consumer job due to: %v. Please remove job %v manually.", deleteErr, jobId) } } } @@ -168,6 +166,7 @@ func startHandler(w http.ResponseWriter, r *http.Request) { return } log.Debug("Registered job.") + started = true } func stopHandler(w http.ResponseWriter, r *http.Request) { @@ -177,6 +176,15 @@ func stopHandler(w http.ResponseWriter, r *http.Request) { return } log.Debug("Deleted job.") + started = false +} + +func statusHandler(w http.ResponseWriter, r *http.Request) { + runStatus := "started" + if !started { + runStatus = "stopped" + } + fmt.Fprintf(w, `{"status": "%v"}`, runStatus) } func deleteOnShutdown(s chan os.Signal) { @@ -185,7 +193,7 @@ func deleteOnShutdown(s chan os.Signal) { <-s log.Info("Shutting down gracefully.") if err := deleteJob(); err != nil { - log.Error(fmt.Sprintf("Unable to delete job on shutdown due to: %v. Please remove job %v manually.", err, jobId)) + log.Errorf("Unable to delete job on shutdown due to: %v. Please remove job %v manually.", err, jobId) } }