X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=dmaap-mediator-producer%2Fsimulator%2Fconsumersimulator.go;h=03da6f4e8a58379bec4a942e0253fecce09995fd;hb=f1cee0f81c6bc482f73182c8f4c903e8376381e8;hp=25421ae64160e50a589b70a6adb90a556dc5fbc1;hpb=280385634f160bb78a8944998e9106a2f6549eb0;p=nonrtric.git diff --git a/dmaap-mediator-producer/simulator/consumersimulator.go b/dmaap-mediator-producer/simulator/consumersimulator.go index 25421ae6..03da6f4e 100644 --- a/dmaap-mediator-producer/simulator/consumersimulator.go +++ b/dmaap-mediator-producer/simulator/consumersimulator.go @@ -21,20 +21,50 @@ package main import ( + "encoding/json" + "flag" "fmt" "io" http "net/http" + "time" + + "oransc.org/nonrtric/dmaapmediatorproducer/internal/restclient" ) -func handleData(w http.ResponseWriter, req *http.Request) { - defer req.Body.Close() - if reqData, err := io.ReadAll(req.Body); err == nil { - fmt.Printf("Consumer received body: %v\n", string(reqData)) - } -} +var httpClient http.Client func main() { + httpClient = http.Client{ + Timeout: time.Second * 5, + } + port := flag.Int("port", 40935, "The port this consumer will listen on") + flag.Parse() http.HandleFunc("/jobs", handleData) - http.ListenAndServe(":40935", nil) + registerJob(*port) + + fmt.Print("Starting consumer on port: ", *port) + http.ListenAndServe(fmt.Sprintf(":%v", *port), nil) +} + +func registerJob(port int) { + jobInfo := struct { + JobOwner string `json:"job_owner"` + JobResultUri string `json:"job_result_uri"` + InfoTypeId string `json:"info_type_id"` + JobDefinition string `json:"job_definition"` + }{fmt.Sprintf("test%v", port), fmt.Sprintf("http://localhost:%v/jobs", port), "STD_Fault_Messages", "{}"} + fmt.Print("Registering consumer: ", jobInfo) + body, _ := json.Marshal(jobInfo) + putErr := restclient.Put(fmt.Sprintf("http://localhost:8083/data-consumer/v1/info-jobs/job%v", port), body, &httpClient) + if putErr != nil { + fmt.Printf("Unable to register consumer: %v", putErr) + } +} + +func handleData(w http.ResponseWriter, req *http.Request) { + defer req.Body.Close() + if reqData, err := io.ReadAll(req.Body); err == nil { + fmt.Print("Consumer received body: ", string(reqData)) + } }