This is an automated email from the ASF dual-hosted git repository.

baunsgaard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git


The following commit(s) were added to refs/heads/main by this push:
     new 5aa5672c8e [MINOR] Add GitHub actions for monitoring tests fixes
5aa5672c8e is described below

commit 5aa5672c8efa24de3d029e330f08c0b0136d026c
Author: mito <[email protected]>
AuthorDate: Fri Sep 30 10:29:35 2022 +0200

    [MINOR] Add GitHub actions for monitoring tests fixes
    
    This commit fixes the test for the monitoring tool to run on actions,
    including minor things as longer wait for startup of monitoring backend.
    Also added is new triggers for monitoring UI tests in actions missing
    in previous commit.
    
    Closes #1699
---
 .github/workflows/monitoringUITests.yml            |  4 ++
 scripts/monitoring/karma.conf.js                   |  2 +-
 scripts/monitoring/package.json                    |  2 +-
 .../create-edit/create-edit.component.spec.ts      |  4 +-
 .../coordinators/list/list.component.spec.ts       |  5 +-
 .../connection/connection.component.spec.ts        | 11 ++--
 .../dashboard/main/dashboard.component.spec.ts     | 18 +++++-
 .../dashboard/worker/worker.component.spec.ts      | 18 +-----
 .../app/modules/events/list/list.component.spec.ts |  2 +-
 .../app/modules/events/view/view.component.spec.ts | 15 -----
 .../modules/workers/view/view.component.spec.ts    |  3 +-
 .../src/app/modules/workers/view/view.component.ts |  6 +-
 .../src/app/services/federatedSiteService.stub.ts  |  8 +++
 .../src/app/services/service-mock-data.ts          | 71 +++++-----------------
 .../monitoring/models/CoordinatorModel.java        |  7 +++
 .../org/apache/sysds/test/AutomatedTestBase.java   |  3 +-
 .../FederatedCoordinatorIntegrationCRUDTest.java   |  7 +--
 .../monitoring/FederatedMonitoringTestBase.java    | 32 +++++++---
 .../FederatedWorkerIntegrationCRUDTest.java        |  3 -
 .../monitoring/FederatedWorkerStatisticsTest.java  | 12 ----
 20 files changed, 95 insertions(+), 138 deletions(-)

diff --git a/.github/workflows/monitoringUITests.yml 
b/.github/workflows/monitoringUITests.yml
index ab577117c4..6ed6c33cea 100644
--- a/.github/workflows/monitoringUITests.yml
+++ b/.github/workflows/monitoringUITests.yml
@@ -66,3 +66,7 @@ jobs:
         run: |
           npm install
         working-directory: scripts/monitoring
+      - name: Run tests
+        run: |
+          npm test
+        working-directory: scripts/monitoring
diff --git a/scripts/monitoring/karma.conf.js b/scripts/monitoring/karma.conf.js
index 99251b9edf..2d279a5aa7 100644
--- a/scripts/monitoring/karma.conf.js
+++ b/scripts/monitoring/karma.conf.js
@@ -57,7 +57,7 @@ module.exports = function (config) {
                colors: true,
                logLevel: config.LOG_INFO,
                autoWatch: true,
-               browsers: ['Firefox'],
+               browsers: ['FirefoxHeadless'],
                singleRun: false,
                restartOnFileChange: true
        });
diff --git a/scripts/monitoring/package.json b/scripts/monitoring/package.json
index 86ca46773c..f9cceee61e 100644
--- a/scripts/monitoring/package.json
+++ b/scripts/monitoring/package.json
@@ -6,7 +6,7 @@
     "start": "ng serve",
     "build": "ng build",
     "watch": "ng build --watch --configuration development",
-    "test": "ng test"
+    "test": "ng test --watch=false"
   },
   "private": true,
   "dependencies": {
diff --git 
a/scripts/monitoring/src/app/modules/coordinators/create-edit/create-edit.component.spec.ts
 
b/scripts/monitoring/src/app/modules/coordinators/create-edit/create-edit.component.spec.ts
index c8397d98a3..eebffdf9c1 100644
--- 
a/scripts/monitoring/src/app/modules/coordinators/create-edit/create-edit.component.spec.ts
+++ 
b/scripts/monitoring/src/app/modules/coordinators/create-edit/create-edit.component.spec.ts
@@ -59,10 +59,10 @@ describe('CreateEditCoordinatorsComponent', () => {
                expect(component.model).not.toBeNull();
        });
 
-       it('should contain name and address fields', () => {
+       it('should contain name host and processId fields', () => {
                let html = 
de.query(By.css('#register-coordinator-content')).nativeElement.innerText;
                expect(html).toContain('Name');
                expect(html).toContain('Host');
-               expect(html).toContain('Monitoring Id');
+               expect(html).toContain('Process Id');
        });
 });
diff --git 
a/scripts/monitoring/src/app/modules/coordinators/list/list.component.spec.ts 
b/scripts/monitoring/src/app/modules/coordinators/list/list.component.spec.ts
index a55d96b404..eae5eb9f46 100644
--- 
a/scripts/monitoring/src/app/modules/coordinators/list/list.component.spec.ts
+++ 
b/scripts/monitoring/src/app/modules/coordinators/list/list.component.spec.ts
@@ -60,9 +60,10 @@ describe('ListCoordinatorsComponent', () => {
                expect(de.query(By.css('table'))).not.toBeNull();
        });
 
-       it('should contain name, address and actions table fields', () => {
+       it('should contain name, host, processId and actions table fields', () 
=> {
                expect(component.displayedColumns).toContain('name');
-               expect(component.displayedColumns).toContain('address');
+               expect(component.displayedColumns).toContain('host');
+               expect(component.displayedColumns).toContain('processId');
                expect(component.displayedColumns).toContain('actions');
        });
 
diff --git 
a/scripts/monitoring/src/app/modules/dashboard/connection/connection.component.spec.ts
 
b/scripts/monitoring/src/app/modules/dashboard/connection/connection.component.spec.ts
index 9e7f4c46ff..436b22117c 100644
--- 
a/scripts/monitoring/src/app/modules/dashboard/connection/connection.component.spec.ts
+++ 
b/scripts/monitoring/src/app/modules/dashboard/connection/connection.component.spec.ts
@@ -20,6 +20,8 @@
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 
 import { ConnectionComponent } from './connection.component';
+import { FederatedSiteService } from 
"../../../services/federatedSiteService.service";
+import { FederatedSiteServiceStub } from 
"../../../services/federatedSiteService.stub";
 
 describe('ConnectionComponent', () => {
        let component: ConnectionComponent;
@@ -27,7 +29,10 @@ describe('ConnectionComponent', () => {
 
        beforeEach(async () => {
                await TestBed.configureTestingModule({
-                       declarations: [ConnectionComponent]
+                       declarations: [ConnectionComponent],
+                       providers: [
+                               { provide: FederatedSiteService , useClass: 
FederatedSiteServiceStub }
+                       ]
                })
                        .compileComponents();
        });
@@ -38,7 +43,5 @@ describe('ConnectionComponent', () => {
                fixture.detectChanges();
        });
 
-       it('should create', () => {
-               expect(component).toBeTruthy();
-       });
+       // TODO: Add test integrated with dashboard component, since creation 
of worker component depends on it
 });
diff --git 
a/scripts/monitoring/src/app/modules/dashboard/main/dashboard.component.spec.ts 
b/scripts/monitoring/src/app/modules/dashboard/main/dashboard.component.spec.ts
index 429d289320..46b5be3335 100644
--- 
a/scripts/monitoring/src/app/modules/dashboard/main/dashboard.component.spec.ts
+++ 
b/scripts/monitoring/src/app/modules/dashboard/main/dashboard.component.spec.ts
@@ -36,7 +36,17 @@ describe('DashboardComponent', () => {
                        declarations: [DashboardComponent],
                        providers: [
                                { provide: FederatedSiteService , useClass: 
FederatedSiteServiceStub },
-                               { provide: MatDialog, useValue: {} }
+                               {
+                                       provide: MatDialog,
+                                       useValue: {
+                                               open: () => {
+                                                       return { afterClosed: 
() => {
+                                                                       return 
{ subscribe: () => null };
+                                                               }
+                                                       }
+                                               }
+                                       }
+                               }
                        ]
                })
                .compileComponents();
@@ -54,7 +64,9 @@ describe('DashboardComponent', () => {
                expect(component).toBeTruthy();
        });
 
-       it('should contain config button', () => {
-               
expect(de.query(By.css('button')).nativeElement.innerText.toLowerCase()).toContain('config');
+       it('should contain zoom and config buttons', () => {
+               
expect(de.nativeElement.innerText.toLowerCase()).toContain('config');
+               expect(de.nativeElement.innerText.toLowerCase()).toContain('-');
+               expect(de.nativeElement.innerText.toLowerCase()).toContain('+');
        });
 });
diff --git 
a/scripts/monitoring/src/app/modules/dashboard/worker/worker.component.spec.ts 
b/scripts/monitoring/src/app/modules/dashboard/worker/worker.component.spec.ts
index 1cfffd36dc..5694bc7b05 100644
--- 
a/scripts/monitoring/src/app/modules/dashboard/worker/worker.component.spec.ts
+++ 
b/scripts/monitoring/src/app/modules/dashboard/worker/worker.component.spec.ts
@@ -46,21 +46,5 @@ describe('WorkerComponent', () => {
                fixture.detectChanges();
        });
 
-       it('should create', () => {
-               expect(component).toBeTruthy();
-       });
-
-       it('should not contain null model', () => {
-               expect(component.model).not.toBeNull();
-       });
-
-       it('should contain a table for instructions', () => {
-               expect(de.query(By.css('table'))).not.toBeNull();
-       });
-
-       it('should contain address and status information', () => {
-               let html = 
de.query(By.css('mat-card-content')).nativeElement.innerText;
-               expect(html).toContain('Address');
-               expect(html).toContain('Status');
-       });
+       // TODO: Add test integrated with dashboard component, since creation 
of worker component depends on it
 });
diff --git 
a/scripts/monitoring/src/app/modules/events/list/list.component.spec.ts 
b/scripts/monitoring/src/app/modules/events/list/list.component.spec.ts
index 342b5fac0b..b54eb188c1 100644
--- a/scripts/monitoring/src/app/modules/events/list/list.component.spec.ts
+++ b/scripts/monitoring/src/app/modules/events/list/list.component.spec.ts
@@ -19,13 +19,13 @@
 
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 
-import { ListWorkersComponent } from './list.component';
 import { DebugElement } from "@angular/core";
 import { FederatedSiteService } from 
"../../../services/federatedSiteService.service";
 import { FederatedSiteServiceStub } from 
"../../../services/federatedSiteService.stub";
 import { Router } from "@angular/router";
 import { MatDialog } from "@angular/material/dialog";
 import { By } from "@angular/platform-browser";
+import { ListWorkersComponent } from "../../workers/list/list.component";
 
 describe('ListWorkersComponent', () => {
        let component: ListWorkersComponent;
diff --git 
a/scripts/monitoring/src/app/modules/events/view/view.component.spec.ts 
b/scripts/monitoring/src/app/modules/events/view/view.component.spec.ts
index 2980cb5bc0..65f2157423 100644
--- a/scripts/monitoring/src/app/modules/events/view/view.component.spec.ts
+++ b/scripts/monitoring/src/app/modules/events/view/view.component.spec.ts
@@ -64,19 +64,4 @@ describe('ViewWorkerEventsComponent', () => {
        it('should create', () => {
                expect(component).toBeTruthy();
        });
-
-       it('should contain address, status and JIT information', () => {
-               let html = 
de.query(By.css('#main-worker-information')).nativeElement.innerText;
-               expect(html).toContain('Address');
-               expect(html).toContain('Status');
-               expect(html).toContain('JIT');
-       });
-
-       it('should contain CPU metrics diagram', () => {
-               expect(de.query(By.css('#cpu-metric-card'))).not.toBeNull();
-       });
-
-       it('should contain memory metrics diagram', () => {
-               expect(de.query(By.css('#memory-metric-card'))).not.toBeNull();
-       });
 });
diff --git 
a/scripts/monitoring/src/app/modules/workers/view/view.component.spec.ts 
b/scripts/monitoring/src/app/modules/workers/view/view.component.spec.ts
index f3f47969a7..1643df5c30 100644
--- a/scripts/monitoring/src/app/modules/workers/view/view.component.spec.ts
+++ b/scripts/monitoring/src/app/modules/workers/view/view.component.spec.ts
@@ -69,11 +69,10 @@ describe('ViewWorkerComponent', () => {
                expect(component.model).not.toBeNull();
        });
 
-       it('should contain address, status and JIT information', () => {
+       it('should contain address and status information', () => {
                let html = 
de.query(By.css('#main-worker-information')).nativeElement.innerText;
                expect(html).toContain('Address');
                expect(html).toContain('Status');
-               expect(html).toContain('JIT');
        });
 
        it('should contain CPU metrics diagram', () => {
diff --git a/scripts/monitoring/src/app/modules/workers/view/view.component.ts 
b/scripts/monitoring/src/app/modules/workers/view/view.component.ts
index 1e2fab1c6e..e5cebc78d3 100644
--- a/scripts/monitoring/src/app/modules/workers/view/view.component.ts
+++ b/scripts/monitoring/src/app/modules/workers/view/view.component.ts
@@ -59,9 +59,7 @@ export class ViewWorkerComponent {
 
        ngOnInit(): void {
                const id = Number(this.router.snapshot.paramMap.get('id'));
-               this.fedSiteService.getWorker(id).subscribe(worker => {
-                       this.model = worker;
-               });
+               this.fedSiteService.getWorkerPolling(id, 
this.stopPollingWorker).subscribe(worker => this.model = worker);
 
                this.statistics = new Statistics();
 
@@ -175,8 +173,6 @@ export class ViewWorkerComponent {
                        },
                });
 
-               this.fedSiteService.getWorkerPolling(id, 
this.stopPollingWorker).subscribe(worker => this.model = worker);
-
                this.fedSiteService.getStatisticsPolling(id, 
this.stopPollingStatistics).subscribe(stats => {
                        this.statistics = stats;
 
diff --git a/scripts/monitoring/src/app/services/federatedSiteService.stub.ts 
b/scripts/monitoring/src/app/services/federatedSiteService.stub.ts
index e0ff391d0f..5f2b82cf8e 100644
--- a/scripts/monitoring/src/app/services/federatedSiteService.stub.ts
+++ b/scripts/monitoring/src/app/services/federatedSiteService.stub.ts
@@ -49,6 +49,14 @@ export class FederatedSiteServiceStub {
                return of(serviceMockData.workers.find(w => w.id === id));
        }
 
+       public getWorkerPolling(id: number) {
+               return of(serviceMockData.workers.find(w => w.id === id));
+       }
+
+       public getStatisticsPolling(id: number) {
+               return of(serviceMockData.statistics);
+       }
+
        public createCoordinator(coordinator: Coordinator) {
                return of(coordinator)
        }
diff --git a/scripts/monitoring/src/app/services/service-mock-data.ts 
b/scripts/monitoring/src/app/services/service-mock-data.ts
index 039ee04774..df1999b364 100644
--- a/scripts/monitoring/src/app/services/service-mock-data.ts
+++ b/scripts/monitoring/src/app/services/service-mock-data.ts
@@ -21,12 +21,14 @@ let coordinators = [
        {
                "id": 1,
                "name": "Coordinator 1",
-               "address": "localhost:8445"
+               "host": "localhost",
+               "processId": 4242
        },
        {
                "id": 2,
                "name": "Coordinator 1",
-               "address": "localhost:8446"
+               "host": "localhost",
+               "processId": 4241
        }
 ]
 
@@ -35,74 +37,31 @@ let workers = [
                "id": 1,
                "name": "Worker 1",
                "address": "localhost:8001",
-               "isOnline": false,
-               "jitCompileTime": 0,
-               "requestTypeCounts": [
-                       {"type": "GET_VAR", "count": 0},
-                       {"type": "PUT_VAR", "count": 0},
-                       {"type": "READ_VAR", "count": 0},
-                       {"type": "EXEC_UDF", "count": 0},
-                       {"type": "EXEC_INST", "count": 0}
-               ],
-               "stats": []
+               "isOnline": false
        },
        {
                "id": 2,
                "name": "Worker 2",
                "address": "localhost:8002",
-               "isOnline": false,
-               "jitCompileTime": 0,
-               "requestTypeCounts": [
-                       {"type": "GET_VAR", "count": 0},
-                       {"type": "PUT_VAR", "count": 0},
-                       {"type": "READ_VAR", "count": 0},
-                       {"type": "EXEC_UDF", "count": 0},
-                       {"type": "EXEC_INST", "count": 0}
-               ],
-               "stats": [{
-                       "timestamp": "2022-06-25 13:18:19.578",
-                       "x": 1.96,
-                       "memoryUsage": 1.46,
-                       "coordinatorTraffic": [],
-                       "heavyHitters": []
-               }, {
-                       "timestamp": "2022-06-25 13:18:22.522",
-                       "x": 1.95,
-                       "memoryUsage": 1.46,
-                       "coordinatorTraffic": [],
-                       "heavyHitters": []
-               }]
+               "isOnline": false
        },
        {
                "id": 3,
                "name": "Worker 3",
                "address": "localhost:8003",
                "isOnline": true,
-               "jitCompileTime": 3.69,
-               "requestTypeCounts": [
-                       {"type": "GET_VAR", "count": 0},
-                       {"type": "PUT_VAR", "count": 0},
-                       {"type": "READ_VAR", "count": 0},
-                       {"type": "EXEC_UDF", "count": 0},
-                       {"type": "EXEC_INST", "count": 0}
-               ],
-               "stats": [{
-                       "timestamp": "2022-06-25 13:18:19.578",
-                       "x": 1.96,
-                       "memoryUsage": 1.46,
-                       "coordinatorTraffic": [],
-                       "heavyHitters": []
-               }, {
-                       "timestamp": "2022-06-25 13:18:22.522",
-                       "x": 1.95,
-                       "memoryUsage": 1.46,
-                       "coordinatorTraffic": [],
-                       "heavyHitters": []
-               }]
        }
 ]
 
+
+let statistics = {
+       "utilization": [],
+       "traffic": [],
+       "dataObjects": [],
+       "requests": []
+}
 export const serviceMockData = {
        workers: workers,
-       coordinators: coordinators
+       coordinators: coordinators,
+       statistics: statistics
 }
diff --git 
a/src/main/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/models/CoordinatorModel.java
 
b/src/main/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/models/CoordinatorModel.java
index 08a6938735..4866529f36 100644
--- 
a/src/main/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/models/CoordinatorModel.java
+++ 
b/src/main/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/models/CoordinatorModel.java
@@ -43,6 +43,13 @@ public class CoordinatorModel extends BaseModel {
                this(-1L);
        }
 
+       public CoordinatorModel(final Long id, final String name, final String 
host, final Long processId) {
+               this.id = id;
+               this.name = name;
+               this.host = host;
+               this.processId = processId;
+       }
+
        public void generateMonitoringKey() {
                this.monitoringHostIdKey = String.format(keyFormat, host, 
processId);
        }
diff --git a/src/test/java/org/apache/sysds/test/AutomatedTestBase.java 
b/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
index f849111b72..9fec24f41b 100644
--- a/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
+++ b/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
@@ -1625,7 +1625,8 @@ public abstract class AutomatedTestBase {
 
                try {
                        process = processBuilder.start();
-                       sleep(1000);
+                       // Wait till process is started
+                       sleep(5000);
                }
                catch(IOException | InterruptedException e) {
                        throw new RuntimeException(e);
diff --git 
a/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedCoordinatorIntegrationCRUDTest.java
 
b/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedCoordinatorIntegrationCRUDTest.java
index 4e85da6266..5ee3431394 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedCoordinatorIntegrationCRUDTest.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedCoordinatorIntegrationCRUDTest.java
@@ -50,7 +50,6 @@ public class FederatedCoordinatorIntegrationCRUDTest extends 
FederatedMonitoring
        }
 
        @Test
-       @Ignore
        public void testCoordinatorRemovedFromMonitoring() {
                addEntities(2, Entity.COORDINATOR);
                var statusCode = removeEntity(1L, 
Entity.COORDINATOR).statusCode();
@@ -63,10 +62,9 @@ public class FederatedCoordinatorIntegrationCRUDTest extends 
FederatedMonitoring
        }
 
        @Test
-       @Ignore
        public void testCoordinatorDataUpdated() {
                addEntities(3, Entity.COORDINATOR);
-               var newCoordinatorData = new CoordinatorModel(1L);
+               var newCoordinatorData = new CoordinatorModel(1L, 
"NonExistentName", "nonexistent.address", 4241L);
 
                var editedCoordinator = updateEntity(newCoordinatorData, 
Entity.COORDINATOR);
 
@@ -74,11 +72,10 @@ public class FederatedCoordinatorIntegrationCRUDTest 
extends FederatedMonitoring
                var numCoordinatorsNewData = 
StringUtils.countMatches(getAllCoordinatorsResponse.body().toString(), 
newCoordinatorData.name);
 
                Assert.assertEquals("Updated coordinator status code", 
HttpStatus.SC_OK, editedCoordinator.statusCode());
-               Assert.assertEquals("Updated coordinators num", 1, 
numCoordinatorsNewData);
+               Assert.assertEquals("Updated coordinator name", 1, 
numCoordinatorsNewData);
        }
 
        @Test
-       @Ignore
        public void testCorrectAmountAddedCoordinatorsForMonitoring() {
                int numCoordinators = 3;
                var addedCoordinators = addEntities(numCoordinators, 
Entity.COORDINATOR);
diff --git 
a/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedMonitoringTestBase.java
 
b/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedMonitoringTestBase.java
index a3eb95abfc..6f6e74b183 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedMonitoringTestBase.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedMonitoringTestBase.java
@@ -85,9 +85,20 @@ public abstract class FederatedMonitoringTestBase extends 
MultiTenantTestBase {
                try {
                        ObjectMapper objectMapper = new ObjectMapper();
                        for (int i = 0; i < count; i++) {
-                               String requestBody = objectMapper
-                                       .writerWithDefaultPrettyPrinter()
-                                       .writeValueAsString(new WorkerModel((i 
+ 1L), name, "localhost"));
+                               String requestBody = "";
+
+                               if (entity == Entity.WORKER) {
+                                       requestBody = objectMapper
+                                                       
.writerWithDefaultPrettyPrinter()
+                                                       .writeValueAsString(new 
WorkerModel((i + 1L), name, "localhost"));
+                               } else if (entity == Entity.COORDINATOR) {
+                                       CoordinatorModel model = new 
CoordinatorModel(i + 1L, name, "localhost", 4242L);
+                                       model.generateMonitoringKey();
+
+                                       requestBody = objectMapper
+                                                       
.writerWithDefaultPrettyPrinter()
+                                                       
.writeValueAsString(model);
+                               }
                                var client = HttpClient.newHttpClient();
                                var request = 
HttpRequest.newBuilder(URI.create(uriStr))
                                        .header("accept", "application/json")
@@ -112,15 +123,20 @@ public abstract class FederatedMonitoringTestBase extends 
MultiTenantTestBase {
 
                try {
                        ObjectMapper objectMapper = new ObjectMapper();
+                       String requestBody = "";
 
-                       String requestBody = objectMapper
-                               .writerWithDefaultPrettyPrinter()
-                               .writeValueAsString(new 
WorkerModel(editModel.id, ((WorkerModel)editModel).name, 
((WorkerModel)editModel).address));
+                       if (entity == Entity.WORKER) {
+                               requestBody = objectMapper
+                                               
.writerWithDefaultPrettyPrinter()
+                                               .writeValueAsString(new 
WorkerModel(editModel.id, ((WorkerModel) editModel).name, ((WorkerModel) 
editModel).address));
+                       } else if (entity == Entity.COORDINATOR) {
+                               CoordinatorModel model = new CoordinatorModel(
+                                               editModel.id, 
((CoordinatorModel)editModel).name,((CoordinatorModel)editModel).host, 
((CoordinatorModel)editModel).processId);
+                               model.generateMonitoringKey();
 
-                       if (entity == Entity.COORDINATOR) {
                                requestBody = objectMapper
                                        .writerWithDefaultPrettyPrinter()
-                                       .writeValueAsString(new 
CoordinatorModel());
+                                       .writeValueAsString(model);
                        }
                        var client = HttpClient.newHttpClient();
                        var request = HttpRequest.newBuilder(URI.create(uriStr))
diff --git 
a/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedWorkerIntegrationCRUDTest.java
 
b/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedWorkerIntegrationCRUDTest.java
index 65fee61438..4210829c31 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedWorkerIntegrationCRUDTest.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedWorkerIntegrationCRUDTest.java
@@ -50,7 +50,6 @@ public class FederatedWorkerIntegrationCRUDTest extends 
FederatedMonitoringTestB
        }
 
        @Test
-       @Ignore
        public void testWorkerRemovedFromMonitoring() {
                addEntities(2, Entity.WORKER);
                var statusCode = removeEntity(1L, Entity.WORKER).statusCode();
@@ -63,7 +62,6 @@ public class FederatedWorkerIntegrationCRUDTest extends 
FederatedMonitoringTestB
        }
 
        @Test
-       @Ignore
        public void testWorkerDataUpdated() {
                addEntities(3, Entity.WORKER);
                var newWorkerData = new WorkerModel(1L, "NonExistentName", 
"nonexistent.address");
@@ -78,7 +76,6 @@ public class FederatedWorkerIntegrationCRUDTest extends 
FederatedMonitoringTestB
        }
 
        @Test
-       @Ignore
        public void testCorrectAmountAddedWorkersForMonitoring() {
                int numWorkers = 3;
                var addedWorkers = addEntities(numWorkers, Entity.WORKER);
diff --git 
a/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedWorkerStatisticsTest.java
 
b/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedWorkerStatisticsTest.java
index cb2e91d113..0e2f3dfa2e 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedWorkerStatisticsTest.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/federated/monitoring/FederatedWorkerStatisticsTest.java
@@ -141,18 +141,6 @@ public class FederatedWorkerStatisticsTest extends 
FederatedMonitoringTestBase {
 
        @Test
        public void testNonExistentWorkerStatistics() {
-               var bla = new EventModel(1L, -1L);
-               var derby = new DerbyRepository();
-
-               derby.createEntity(bla);
-               derby.createEntity(bla);
-               var in3 = derby.createEntity(bla);
-               derby.createEntity(bla);
-
-               derby.getEntity(in3, EventModel.class);
-
-               new EventStageModel();
-
                workerMonitoringService.create(new WorkerModel(1L, "Worker", 
"localhost:8001"));
                var options = new StatisticsOptions();
                options.utilization = true;

Reply via email to