X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=dmaap-mediator-producer%2Fsimulator%2Fconsumersimulator.go;h=df8138578d734886f462096cc056eb79e3da57fb;hb=refs%2Fchanges%2F47%2F6947%2F1;hp=25421ae64160e50a589b70a6adb90a556dc5fbc1;hpb=82378715d387362e97a064665a2467c587afdeed;p=nonrtric.git diff --git a/dmaap-mediator-producer/simulator/consumersimulator.go b/dmaap-mediator-producer/simulator/consumersimulator.go index 25421ae6..df813857 100644 --- a/dmaap-mediator-producer/simulator/consumersimulator.go +++ b/dmaap-mediator-producer/simulator/consumersimulator.go @@ -21,20 +21,55 @@ 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"` + }{ + JobOwner: fmt.Sprintf("test%v", port), + JobResultUri: fmt.Sprintf("http://localhost:%v/jobs", port), + InfoTypeId: "STD_Fault_Messages", + JobDefinition: "{}", + } + 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)) + } }