packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/main-schemas/MySQL-Requests-schema.sql
**/bin/
/tattletale/
+/.metadata/
import { TestBed, async } from '@angular/core/testing';\r
import { RouterTestingModule } from '@angular/router/testing';\r
import { AppComponent } from './app.component';\r
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r
+\r
describe('AppComponent', () => {\r
beforeEach(async(() => {\r
TestBed.configureTestingModule({\r
declarations: [\r
AppComponent\r
],\r
+ schemas: [\r
+ CUSTOM_ELEMENTS_SCHEMA\r
+ ],\r
}).compileComponents();\r
}));\r
- it('should create the app', async(() => {\r
+\r
+ // Ensure creation of SO Monitoring application\r
+ it('application should be created', async(() => {\r
const fixture = TestBed.createComponent(AppComponent);\r
const app = fixture.debugElement.componentInstance;\r
expect(app).toBeTruthy();\r
}));\r
- it(`should have as title 'app'`, async(() => {\r
+\r
+\r
+ // Ensure application title is "SO Monitor"\r
+ it(`should have title 'SO Monitor'`, async(() => {\r
const fixture = TestBed.createComponent(AppComponent);\r
const app = fixture.debugElement.componentInstance;\r
- expect(app.title).toEqual('app');\r
- }));\r
- it('should render title in a h1 tag', async(() => {\r
- const fixture = TestBed.createComponent(AppComponent);\r
- fixture.detectChanges();\r
- const compiled = fixture.debugElement.nativeElement;\r
- expect(compiled.querySelector('h1').textContent).toContain('Welcome to ONAP-SO-Monitor!');\r
+ expect(app.title).toEqual('SO Monitor');\r
}));\r
});\r
})\r
\r
export class AppComponent {\r
- title = 'app';\r
+ title = 'SO Monitor';\r
}\r
*/\r
\r
import { BrowserModule } from '@angular/platform-browser';\r
-import { NgModule } from '@angular/core';\r
+import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r
\r
import { AppRoutingModule } from './app-routing.module';\r
import { AppComponent } from './app.component';\r
import { MatNativeDateModule } from '@angular/material';\r
import { MatCardModule } from '@angular/material/card';\r
import { NgxSpinnerModule } from 'ngx-spinner';\r
+import { RouterModule, Routes } from '@angular/router';\r
+import { APP_BASE_HREF } from '@angular/common';\r
\r
@NgModule({\r
declarations: [\r
MatDatepickerModule,\r
MatNativeDateModule,\r
MatCardModule,\r
- NgxSpinnerModule\r
+ NgxSpinnerModule,\r
+ RouterModule,\r
+ RouterModule.forRoot([])\r
+ ],\r
+ schemas: [\r
+ CUSTOM_ELEMENTS_SCHEMA\r
],\r
providers: [ToastrNotificationService],\r
bootstrap: [AppComponent]\r
import { TestBed, inject } from '@angular/core/testing';\r
\r
import { DataService } from './data.service';\r
+import { HttpClient } from '@angular/common/http';\r
+import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';\r
+import { async } from '@angular/core/testing';\r
+import { HttpClientModule } from '@angular/common/http';\r
+import { ToastrNotificationService } from './toastr-notification-service.service';\r
+import { environment } from '../environments/environment';\r
+\r
+class StubbedToastrNotificationService extends ToastrNotificationService {\r
+ toastrSettings() {\r
+ }\r
+}\r
\r
describe('DataService', () => {\r
beforeEach(() => {\r
TestBed.configureTestingModule({\r
- providers: [DataService]\r
+ providers: [DataService, { provide: ToastrNotificationService, useClass: StubbedToastrNotificationService }],\r
+ imports: [HttpClientTestingModule]\r
});\r
});\r
\r
- it('should be created', inject([DataService], (service: DataService) => {\r
- expect(service).toBeTruthy();\r
- }));\r
+ // Ensure creation of DataService component\r
+ it('component should be created', async(inject([HttpTestingController, DataService, ToastrNotificationService],\r
+ (httpClient: HttpTestingController, service: DataService, toastr: ToastrNotificationService) => {\r
+ expect(service).toBeTruthy();\r
+ })));\r
+\r
+ // Test retrieveInstance function making POST call\r
+ it('test retrieveInstance POST request', async(inject([HttpTestingController, DataService, ToastrNotificationService],\r
+ (httpClient: HttpTestingController, service: DataService, toastr: ToastrNotificationService) => {\r
+ service.retrieveInstance({}, 1, 2).subscribe(data => { });\r
+ var url = environment.soMonitoringBackendURL + 'v1/search?from=1&to=2';\r
+ const mockReq = httpClient.expectOne(url);\r
+ expect(mockReq.request.method).toEqual('POST');\r
+ mockReq.flush({});\r
+ })));\r
+\r
+ // Test getProcessInstanceId function making GET request to retrieve processInstanceID\r
+ it('test getProcessInstanceId GET request', async(inject([HttpTestingController, DataService, ToastrNotificationService],\r
+ (httpClient: HttpTestingController, service: DataService, toastr: ToastrNotificationService) => {\r
+ service.getProcessInstanceId("").subscribe(data => { });\r
+ var url = environment.soMonitoringBackendURL + 'process-instance-id/' + "";\r
+ const mockReq = httpClient.expectOne(url);\r
+ expect(mockReq.request.method).toEqual('GET');\r
+ mockReq.flush({});\r
+ })));\r
+\r
+ // Test getActivityInstance function making GET request to retrieve activityInstance\r
+ it('test getActivityInstance GET request', async(inject([HttpTestingController, DataService, ToastrNotificationService],\r
+ (httpClient: HttpTestingController, service: DataService, toastr: ToastrNotificationService) => {\r
+ service.getActivityInstance("").subscribe(data => { });\r
+ var url = environment.soMonitoringBackendURL + 'activity-instance/' + "";\r
+ const mockReq = httpClient.expectOne(url);\r
+ expect(mockReq.request.method).toEqual('GET');\r
+ mockReq.flush({});\r
+ })));\r
+\r
+ // Test getProcessInstance function making GET request to retrieve processInstance\r
+ it('test getProcessInstance GET request', async(inject([HttpTestingController, DataService, ToastrNotificationService],\r
+ (httpClient: HttpTestingController, service: DataService, toastr: ToastrNotificationService) => {\r
+ service.getProcessInstance("");\r
+ var url = environment.soMonitoringBackendURL + 'process-instance/' + "";\r
+ const mockReq = httpClient.expectOne(url);\r
+ expect(mockReq.request.method).toEqual('GET');\r
+ })));\r
+\r
+ // Test getProcessDefinition function making GET request to retrieve processDefinition\r
+ it('test getProcessDefinition GET request', async(inject([HttpTestingController, DataService, ToastrNotificationService],\r
+ (httpClient: HttpTestingController, service: DataService, toastr: ToastrNotificationService) => {\r
+ service.getProcessDefinition("").subscribe(data => { });\r
+ var url = environment.soMonitoringBackendURL + 'process-definition/' + "";\r
+ const mockReq = httpClient.expectOne(url);\r
+ expect(mockReq.request.method).toEqual('GET');\r
+ mockReq.flush({});\r
+ })));\r
+\r
+ // Test getVariableInstance function making GET request to retrieve variableInstance\r
+ it('test getVariableInstance GET request', async(inject([HttpTestingController, DataService, ToastrNotificationService],\r
+ (httpClient: HttpTestingController, service: DataService, toastr: ToastrNotificationService) => {\r
+ service.getVariableInstance("").subscribe(data => { });\r
+ var url = environment.soMonitoringBackendURL + 'variable-instance/' + "";\r
+ const mockReq = httpClient.expectOne(url);\r
+ expect(mockReq.request.method).toEqual('GET');\r
+ mockReq.flush({});\r
+ })));\r
});\r
getProcessInstanceId(requestId): Observable<HttpResponse<ProcessInstanceId>> {\r
var url = environment.soMonitoringBackendURL + 'process-instance-id/' + requestId;\r
console.log(requestId);\r
- console.log(url);\r
return this.http.get<ProcessInstanceId>(url, { observe: 'response' })\r
.pipe(\r
catchError(this.httpErrorHandlerService.handleError("GET", url))\r
catchError(this.httpErrorHandlerService.handleError("GET", url))\r
);\r
}\r
-\r
}\r
import { async, ComponentFixture, TestBed } from '@angular/core/testing';\r
\r
import { DetailsComponent } from './details.component';\r
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r
+import { RouterTestingModule } from '@angular/router/testing';\r
+import { MatTableModule } from '@angular/material';\r
+import { inject } from '@angular/core/testing';\r
+import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';\r
+import { HttpClientModule } from '@angular/common/http';\r
+import { HttpClient } from '@angular/common/http';\r
+import { RouterModule } from '@angular/router';\r
+import { APP_BASE_HREF } from '@angular/common';\r
+import { ToastrNotificationService } from '../toastr-notification-service.service';\r
+import { DataService } from '../data.service';\r
+import { Observable, of } from 'rxjs';\r
+import { ACTINST } from '../model/activityInstance.model';\r
+import { PDI } from '../model/processDefinition.model';\r
+import { PII } from '../model/processInstance.model';\r
+import { VarInstance } from '../model/variableInstance.model';\r
\r
-describe('DetailsComponent', () => {\r
- let component: DetailsComponent;\r
- let fixture: ComponentFixture<DetailsComponent>;\r
+// Generate stub for toastr popup notifications\r
+class StubbedToastrNotificationService extends ToastrNotificationService {\r
+ toastrSettings() {\r
+ }\r
+}\r
+\r
+// Create SPY Object for Jasmine tests to mock DataService\r
+let spyDataService: jasmine.SpyObj<DataService>;\r
\r
+describe('DetailsComponent', () => {\r
beforeEach(async(() => {\r
+ spyDataService = jasmine.createSpyObj('DataService', ['getActivityInstance', 'getVariableInstance']);\r
+\r
TestBed.configureTestingModule({\r
- declarations: [DetailsComponent]\r
+ providers: [DetailsComponent, HttpClient, HttpTestingController,\r
+ { provide: APP_BASE_HREF, useValue: '/' },\r
+ { provide: ToastrNotificationService, useClass: StubbedToastrNotificationService },\r
+ { provide: DataService, useValue: spyDataService }],\r
+ imports: [RouterTestingModule, MatTableModule, HttpClientModule, RouterModule.forRoot([])],\r
+ schemas: [\r
+ CUSTOM_ELEMENTS_SCHEMA\r
+ ]\r
})\r
.compileComponents();\r
}));\r
\r
- beforeEach(() => {\r
- fixture = TestBed.createComponent(DetailsComponent);\r
- component = fixture.componentInstance;\r
- fixture.detectChanges();\r
- });\r
+ // Ensure creation of DetailsComponent component\r
+ it('component should be created', inject([DetailsComponent],\r
+ (detailsComponent: DetailsComponent) => {\r
+ expect(detailsComponent).toBeTruthy();\r
+ }));\r
+\r
+\r
+ // Mock an activityInstance and ensure array is populated\r
+ it('activityInstance should be defined if data service returns activities', inject([DetailsComponent],\r
+ (detailsComponent: DetailsComponent) => {\r
+ const activity: ACTINST = {\r
+ activityId: "",\r
+ processInstanceId: "",\r
+ calledProcessInstanceId: "",\r
+ activityName: "",\r
+ activityType: "",\r
+ durationInMillis: "1",\r
+ endTime: "",\r
+ startTime: ""\r
+ };\r
+ spyDataService.getActivityInstance.and.returnValue(of([activity]));\r
+ detailsComponent.getActInst("");\r
+ expect(detailsComponent.activityInstance.length).toEqual(1);\r
+ }));\r
+\r
+\r
+ // Create a processDefinition and ensure it is defined\r
+ it('processDefinition should be defined if PDI populated', inject([DetailsComponent],\r
+ (detailsComponent: DetailsComponent) => {\r
+ const activity: PDI = {\r
+ processDefinitionId: "1",\r
+ processDefinitionXml: ""\r
+ };\r
+ detailsComponent.getProcessDefinition("");\r
+ detailsComponent.processDefinition = activity;\r
+ expect(detailsComponent.processDefinition).toBeDefined();\r
+ }));\r
+\r
+\r
+ // Create a processInstance and ensure it is defined\r
+ it('processInstance should be defined if PII populated', inject([DetailsComponent],\r
+ (detailsComponent: DetailsComponent) => {\r
+ const testVals: PII = {\r
+ processInstancId: "1",\r
+ processDefinitionId: "1",\r
+ processDefinitionName: "test",\r
+ superProcessInstanceId: "1"\r
+ };\r
+ detailsComponent.getProcInstance("");\r
+ detailsComponent.processInstance = testVals;\r
+ expect(detailsComponent.processInstance).toBeDefined();\r
+ }));\r
+\r
+\r
+ // displayCamundaflow test\r
+ // TODO\r
\r
- it('should create', () => {\r
- expect(component).toBeTruthy();\r
- });\r
+ // Mock an variableInstance and ensure array is populated\r
+ it('variableInstance should be defined if data service returns activities', inject([DetailsComponent],\r
+ (detailsComponent: DetailsComponent) => {\r
+ const activity2: VarInstance = {\r
+ name: "a",\r
+ type: "a",\r
+ value: "1"\r
+ };\r
+ spyDataService.getVariableInstance.and.returnValue(of([activity2]));\r
+ detailsComponent.getVarInst("");\r
+ expect(detailsComponent.variableInstance.length).toEqual(1);\r
+ }));\r
});\r
import { async, ComponentFixture, TestBed } from '@angular/core/testing';\r
\r
import { HomeComponent } from './home.component';\r
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r
+import { MatTableModule } from '@angular/material';\r
+import { FormsModule } from '@angular/forms';\r
+import { MatDatepickerModule } from '@angular/material/datepicker';\r
+import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';\r
+import { HttpClientModule } from '@angular/common/http';\r
+import { HttpClient } from '@angular/common/http';\r
+import { inject } from '@angular/core/testing';\r
+import { RouterModule } from '@angular/router';\r
+import { APP_BASE_HREF } from '@angular/common';\r
+import { ToastrNotificationService } from '../toastr-notification-service.service';\r
+import { environment } from '../../environments/environment.prod';\r
+\r
+class StubbedToastrNotificationService extends ToastrNotificationService {\r
+ toastrSettings() {\r
+ }\r
+}\r
\r
describe('HomeComponent', () => {\r
let component: HomeComponent;\r
\r
beforeEach(async(() => {\r
TestBed.configureTestingModule({\r
- declarations: [HomeComponent]\r
+ providers: [HomeComponent, HttpClient, HttpTestingController,\r
+ { provide: APP_BASE_HREF, useValue: '/' },\r
+ { provide: ToastrNotificationService, useClass: StubbedToastrNotificationService }],\r
+ imports: [MatTableModule, FormsModule, MatDatepickerModule, HttpClientModule, RouterModule.forRoot([])],\r
+ declarations: [HomeComponent],\r
+ schemas: [\r
+ CUSTOM_ELEMENTS_SCHEMA\r
+ ]\r
})\r
.compileComponents();\r
}));\r
\r
- beforeEach(() => {\r
- fixture = TestBed.createComponent(HomeComponent);\r
- component = fixture.componentInstance;\r
- fixture.detectChanges();\r
- });\r
+ // Ensure creation of HomeComponent component\r
+ it('component should be created', inject([HttpTestingController, HomeComponent],\r
+ (httpClient: HttpTestingController, service: HomeComponent) => {\r
+ expect(service).toBeTruthy();\r
+ }));\r
\r
- it('should create', () => {\r
- expect(component).toBeTruthy();\r
- });\r
+ // Ensure all statistic variables are initialised to zero\r
+ it('ensure statistic variables are defaulted at zero', async(inject([HttpTestingController, HomeComponent],\r
+ (httpClient: HttpTestingController, service: HomeComponent) => {\r
+ expect(service.totalVal === 0 && service.completeVal === 0 &&\r
+ service.inProgressVal === 0 && service.failedVal === 0 &&\r
+ service.pendingVal === 0 && service.unlockedVal === 0 &&\r
+ service.percentageComplete === 0 && service.percentageFailed === 0 &&\r
+ service.percentageInProg === 0 && service.percentagePending === 0 &&\r
+ service.percentageUnlocked === 0).toBeTruthy();\r
+ })));\r
});\r
import { TestBed, inject } from '@angular/core/testing';\r
\r
import { HttpErrorHandlerService } from './http-error-handler.service';\r
+import { ToastrNotificationService } from './toastr-notification-service.service';\r
+\r
+class StubbedToastrNotificationService extends ToastrNotificationService {\r
+ toastrSettings() {\r
+ }\r
+}\r
\r
describe('HttpErrorHandlerService', () => {\r
beforeEach(() => {\r
TestBed.configureTestingModule({\r
- providers: [HttpErrorHandlerService]\r
+ providers: [HttpErrorHandlerService,\r
+ { provide: ToastrNotificationService, useClass: StubbedToastrNotificationService }],\r
});\r
});\r
\r
- it('should be created', inject([HttpErrorHandlerService], (service: HttpErrorHandlerService) => {\r
+ it('ErrorHandler should be created', inject([HttpErrorHandlerService], (service: HttpErrorHandlerService) => {\r
expect(service).toBeTruthy();\r
}));\r
});\r
import { async, ComponentFixture, TestBed } from '@angular/core/testing';\r
\r
import { SidebarComponent } from './sidebar.component';\r
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r
+import { HttpClientModule } from '@angular/common/http';\r
+import { HttpTestingController } from '@angular/common/http/testing';\r
+import { HttpClient } from '@angular/common/http';\r
+import { inject } from '@angular/core/testing';\r
+import { RouterModule } from '@angular/router';\r
+import { APP_BASE_HREF } from '@angular/common';\r
\r
describe('SidebarComponent', () => {\r
let component: SidebarComponent;\r
\r
beforeEach(async(() => {\r
TestBed.configureTestingModule({\r
- declarations: [SidebarComponent]\r
+ providers: [SidebarComponent, HttpClient, HttpTestingController, { provide: APP_BASE_HREF, useValue: '/' }],\r
+ imports: [HttpClientModule, RouterModule.forRoot([])],\r
+ declarations: [SidebarComponent],\r
+ schemas: [\r
+ CUSTOM_ELEMENTS_SCHEMA\r
+ ]\r
})\r
.compileComponents();\r
}));\r
fixture.detectChanges();\r
});\r
\r
- it('should create', () => {\r
- expect(component).toBeTruthy();\r
- });\r
+ it('component should be created', async(inject([HttpTestingController, SidebarComponent],\r
+ (httpClient: HttpTestingController, sideComponent: SidebarComponent) => {\r
+ expect(sideComponent).toBeTruthy();\r
+ })));\r
+\r
});\r
\r
import { ToastrNotificationService } from './toastr-notification-service.service';\r
\r
+class StubbedToastrNotificationService extends ToastrNotificationService {\r
+ toastrSettings() {\r
+ }\r
+}\r
+\r
describe('ToasterNotificationService', () => {\r
beforeEach(() => {\r
TestBed.configureTestingModule({\r
- providers: [ToastrNotificationService]\r
+ providers: [ToastrNotificationService,\r
+ { provide: ToastrNotificationService, useClass: StubbedToastrNotificationService }]\r
});\r
});\r
\r
- it('should be created', inject([ToastrNotificationService], (service: ToastrNotificationService) => {\r
+ it('component should be created', inject([ToastrNotificationService], (service: ToastrNotificationService) => {\r
expect(service).toBeTruthy();\r
}));\r
});\r
import { async, ComponentFixture, TestBed } from '@angular/core/testing';\r
\r
import { TopbarComponent } from './topbar.component';\r
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r
\r
describe('TopbarComponent', () => {\r
let component: TopbarComponent;\r
\r
beforeEach(async(() => {\r
TestBed.configureTestingModule({\r
- declarations: [TopbarComponent]\r
+ declarations: [TopbarComponent],\r
+ schemas: [\r
+ CUSTOM_ELEMENTS_SCHEMA\r
+ ]\r
})\r
.compileComponents();\r
}));\r
fixture.detectChanges();\r
});\r
\r
- it('should create', () => {\r
+ it('component should be created', () => {\r
expect(component).toBeTruthy();\r
});\r
});\r