From f1afcd49b51edfb47b97aaf8bf4783e62a6e18b2 Mon Sep 17 00:00:00 2001
From: Katharina Renk <katharina.renk@stud.h-da.de>
Date: Thu, 22 Feb 2024 17:37:39 +0100
Subject: [PATCH] added force-push func

---
 .../lab_tests/lab01/lab01_test.go             | 15 ++-------------
 integration-tests/lab_tests/utils/labUtils.go | 19 +++++++++++++++++++
 2 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/integration-tests/lab_tests/lab01/lab01_test.go b/integration-tests/lab_tests/lab01/lab01_test.go
index 5496661f0..efa0e43ad 100644
--- a/integration-tests/lab_tests/lab01/lab01_test.go
+++ b/integration-tests/lab_tests/lab01/lab01_test.go
@@ -170,16 +170,8 @@ func TestLab01(t *testing.T) {
 					t.Error(err)
 				}
 
-				// Commit the change.
-				commitChange := lab_utils.CommitOrConfirmChange(setResp.GetResponses()[0].GetId(), mnepb.Operation_OPERATION_COMMIT, pndID)
-				_, err = mneService.SetChangeList(ctx, commitChange)
-				if err != nil {
-					t.Error(err)
-				}
-
-				// Confirm the change.
-				confirmChange := lab_utils.CommitOrConfirmChange(setResp.GetResponses()[0].GetId(), mnepb.Operation_OPERATION_CONFIRM, pndID)
-				_, err = mneService.SetChangeList(ctx, confirmChange)
+				// Force-push changes
+				err = lab_utils.ForcePush(setResp.GetResponses()[0].GetId(), pndID, mneService, ctx)
 				if err != nil {
 					t.Error(err)
 				}
@@ -188,9 +180,7 @@ func TestLab01(t *testing.T) {
 			} else if strings.Contains(mne.configEntries[i].leaf, "route") {
 				fmt.Println("to be continued")
 			}
-
 		}
-
 	}
 
 	// Commit Confirm
@@ -202,5 +192,4 @@ func TestLab01(t *testing.T) {
 	// Check if the routing configuration has been changed
 
 	// Ping to check connection between both managed network elements.
-
 }
diff --git a/integration-tests/lab_tests/utils/labUtils.go b/integration-tests/lab_tests/utils/labUtils.go
index 03b9b6aeb..a3c30e08a 100644
--- a/integration-tests/lab_tests/utils/labUtils.go
+++ b/integration-tests/lab_tests/utils/labUtils.go
@@ -1,6 +1,7 @@
 package lab_utils
 
 import (
+	"context"
 	"os"
 
 	mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement"
@@ -33,6 +34,24 @@ func CommitOrConfirmChange(cid string, operation mnepb.Operation, pndID string)
 	return sclr
 }
 
+func ForcePush(cid string, pndID string, mneService mnepb.NetworkElementServiceClient, ctx context.Context) error {
+
+	// Commit
+	commitChange := CommitOrConfirmChange(cid, mnepb.Operation_OPERATION_COMMIT, pndID)
+	_, err := mneService.SetChangeList(ctx, commitChange)
+	if err != nil {
+		return err
+	}
+
+	// Confirm
+	confirmChange := CommitOrConfirmChange(cid, mnepb.Operation_OPERATION_CONFIRM, pndID)
+	_, err = mneService.SetChangeList(ctx, confirmChange)
+	if err != nil {
+		return err
+	}
+	return nil
+}
+
 func SetHostnamePathListRequestSingleMne(mneId string, newHostname string, operation mnepb.ApiOperation) (*mnepb.SetPathListRequest, error) {
 	hostnamePath, err := ygot.StringToStructuredPath("/system/config/hostname")
 	if err != nil {
-- 
GitLab