Skip to content

Commit b0f5e09

Browse files
fix: Ignore NRF URI containing a specific IP on registration (#52)
* fix: Ignore NRF URI containing a specific IP on registration * fix: Add test for unchanging NRF URI --------- Co-authored-by: gab-arrobo <[email protected]>
1 parent 4fb5917 commit b0f5e09

File tree

2 files changed

+39
-7
lines changed

2 files changed

+39
-7
lines changed

service/init.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -429,20 +429,17 @@ func (udm *UDM) registerNF() {
429429
self := context.UDM_Self()
430430
for msg := range ConfigPodTrigger {
431431
initLog.Infof("Minimum configuration from config pod available %v", msg)
432-
proflie, err := consumer.BuildNFInstance(self)
432+
profile, err := consumer.BuildNFInstance(self)
433433
if err != nil {
434434
logger.InitLog.Errorln(err.Error())
435435
} else {
436-
var newNrfUri string
437-
var err1 error
438436
var prof models.NfProfile
439-
prof, newNrfUri, self.NfId, err1 = consumer.SendRegisterNFInstance(self.NrfUri, self.NfId, proflie)
440-
if err1 != nil {
441-
logger.InitLog.Errorln(err1.Error())
437+
prof, _, self.NfId, err = consumer.SendRegisterNFInstance(self.NrfUri, self.NfId, profile)
438+
if err != nil {
439+
logger.InitLog.Errorln(err.Error())
442440
} else {
443441
udm.StartKeepAliveTimer(prof)
444442
logger.CfgLog.Infof("Sent Register NF Instance with updated profile")
445-
self.NrfUri = newNrfUri
446443
}
447444
}
448445
}

service/init_test.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// SPDX-License-Identifier: Apache-2.0
2+
// Copyright 2023 Open Networking Foundation <[email protected]>
3+
//
4+
5+
package service
6+
7+
import (
8+
"fmt"
9+
"net/http"
10+
"net/http/httptest"
11+
"testing"
12+
"time"
13+
14+
"github.com/omec-project/udm/context"
15+
)
16+
17+
func Test_nrf_url_is_not_overwritten_when_registering(t *testing.T) {
18+
svr := httptest.NewUnstartedServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
19+
fmt.Fprintf(w, "banana")
20+
}))
21+
svr.EnableHTTP2 = true
22+
svr.StartTLS()
23+
defer svr.Close()
24+
self := context.UDM_Self()
25+
self.NrfUri = svr.URL
26+
self.RegisterIPv4 = "127.0.0.2"
27+
var udm *UDM
28+
go udm.registerNF()
29+
ConfigPodTrigger <- true
30+
31+
time.Sleep(1 * time.Second)
32+
if self.NrfUri != svr.URL {
33+
t.Errorf("Expected NRF URL to stay %v, but was %v", svr.URL, self.NrfUri)
34+
}
35+
}

0 commit comments

Comments
 (0)