blob: 612eb98cb09e1c0824714499e9ed97f67450c3ab [file] [log] [blame]
import {Component, ViewChild, OnInit} from '@angular/core';
import {MoblabRpcService} from '../services/services.module';
@Component({
selector: 'run-suite',
template: `
<md-list>
<moblab-selector
#boardSelector
[title] = "'Select board:'"
[placeholder] = "['Pick from available boards']"
(update) = "boardChanged($event.value, $event.index)">
</moblab-selector>
<moblab-selector
#buildSelector
[title] = "'Select build:'"
[placeholder] = "['Pick from available builds']"
(update) = "buildChanged($event.value, $event.index)">
>
</moblab-selector>
<moblab-selector
#suiteSelector
[title] = "'Select suite:'"
[placeholder] = "['Pick from available suites']"
(update) = "suiteChanged($event.value, $event.index)">
>
</moblab-selector>
<moblab-selector
#rwFirmwareSelector
[title] = "'RW Firmware (Optional):'"
[placeholder] = "['Select the RW Firmware (Faft only) (Optional)']"
[isShown] = "false"
>
</moblab-selector>
<moblab-selector
#roFirmwareSelector
[title] = "'RO Firmware (Optional):'"
[placeholder] = "['Select the RO Firmware (Faft only) (Optional)']"
[isShown] = "false"
>
</moblab-selector>
<moblab-selector
#poolSelector
[title] = "'Pool (Optional):'"
[placeholder] = "['Select a pool']"
>
</moblab-selector>
<button md-raised-button color="primary" disabled #runSuiteButton (click)="onRunSuite()">Run Suite</button>
</md-list>
`,
})
export class RunSuiteComponent implements OnInit {
suites = ["bvt-cq", "bvt-inline", "cts", "gts", "hardware_storagequal", "hardware_memoryqual",
"faft_setup", "faft_ec", "faft_bios"];
constructor(private moblabRpcService: MoblabRpcService) { }
@ViewChild('boardSelector') boardSelector;
@ViewChild('buildSelector') buildSelector;
@ViewChild('suiteSelector') suiteSelector;
@ViewChild('rwFirmwareSelector') rwFirmwareSelector;
@ViewChild('roFirmwareSelector') roFirmwareSelector;
@ViewChild('poolSelector') poolSelector;
@ViewChild('runSuiteButton') runSuiteButton;
ngOnInit() {
var boards: string;
this.moblabRpcService.getBoards().subscribe(
response => { boards = response },
error => { console.log("Error happened" + error) },
() => {
this.boardSelector.options = boards;
});
var pools: string;
this.moblabRpcService.getPools().subscribe(
response => { pools = response },
error => { console.log("Error happened" + error) },
() => {
this.poolSelector.options = pools;
});
}
boardChanged(boardName, selectedIndex) {
var builds: string;
this.moblabRpcService.getBuilds(boardName).subscribe(
response => { builds = response },
error => { console.log("Error happened" + error) },
() => {
this.buildSelector.options = builds;
});
}
buildChanged(value) {
this.suiteSelector.options = this.suites;
};
suiteChanged(value) {
let suiteSelected: string = this.suiteSelector.getSelectedValue();
var showFirmware: boolean = false;
var builds: string;
let boardName = this.boardSelector.getSelectedValue();
if (suiteSelected == "faft_setup") {
showFirmware = true;
this.moblabRpcService.getFirmwareBuilds(boardName).subscribe(
response => {
builds = response
},
error => {
console.log("Error happened" + error)
},
() => {
this.rwFirmwareSelector.options = builds;
this.roFirmwareSelector.options = builds;
});
}
this.rwFirmwareSelector.setVisible(showFirmware);
this.roFirmwareSelector.setVisible(showFirmware);
this.runSuiteButton.disabled = false;
};
onRunSuite() {
this.moblabRpcService.runSuite(this.boardSelector.getSelectedValue(),
this.buildSelector.getSelectedValue(), this.suiteSelector.getSelectedValue(),
this.poolSelector.getSelectedValue(), this.rwFirmwareSelector.getSelectedValue(),
this.roFirmwareSelector.getSelectedValue()).subscribe(
response => { console.log(response) },
error => { console.log("Error happened" + error) });
}
}