diff --git a/service/init.go b/service/init.go index f14cb2d..e9e76fe 100644 --- a/service/init.go +++ b/service/init.go @@ -429,20 +429,17 @@ func (udm *UDM) registerNF() { self := context.UDM_Self() for msg := range ConfigPodTrigger { initLog.Infof("Minimum configuration from config pod available %v", msg) - proflie, err := consumer.BuildNFInstance(self) + profile, err := consumer.BuildNFInstance(self) if err != nil { logger.InitLog.Errorln(err.Error()) } else { - var newNrfUri string - var err1 error var prof models.NfProfile - prof, newNrfUri, self.NfId, err1 = consumer.SendRegisterNFInstance(self.NrfUri, self.NfId, proflie) - if err1 != nil { - logger.InitLog.Errorln(err1.Error()) + prof, _, self.NfId, err = consumer.SendRegisterNFInstance(self.NrfUri, self.NfId, profile) + if err != nil { + logger.InitLog.Errorln(err.Error()) } else { udm.StartKeepAliveTimer(prof) logger.CfgLog.Infof("Sent Register NF Instance with updated profile") - self.NrfUri = newNrfUri } } } diff --git a/service/init_test.go b/service/init_test.go new file mode 100644 index 0000000..f2139d2 --- /dev/null +++ b/service/init_test.go @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: Apache-2.0 +// Copyright 2023 Open Networking Foundation +// + +package service + +import ( + "fmt" + "net/http" + "net/http/httptest" + "testing" + "time" + + "github.com/omec-project/udm/context" +) + +func Test_nrf_url_is_not_overwritten_when_registering(t *testing.T) { + svr := httptest.NewUnstartedServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + fmt.Fprintf(w, "banana") + })) + svr.EnableHTTP2 = true + svr.StartTLS() + defer svr.Close() + self := context.UDM_Self() + self.NrfUri = svr.URL + self.RegisterIPv4 = "127.0.0.2" + var udm *UDM + go udm.registerNF() + ConfigPodTrigger <- true + + time.Sleep(1 * time.Second) + if self.NrfUri != svr.URL { + t.Errorf("Expected NRF URL to stay %v, but was %v", svr.URL, self.NrfUri) + } +}