aboutsummaryrefslogtreecommitdiffstats
path: root/common/onap-generic-artifact-browser/onap-generic-artifact-browser-component-tests/src/test/resources
diff options
context:
space:
mode:
authorTomasz Golabek <tomasz.golabek@nokia.com>2019-03-19 11:37:28 +0100
committerOfir Sonsino <ofir.sonsino@intl.att.com>2019-04-01 13:03:21 +0000
commit967a1208bb29bb7930272c338d1d1eca4b1dbd62 (patch)
tree25013d4bc3c8f275513ffc53df65565505cb320d /common/onap-generic-artifact-browser/onap-generic-artifact-browser-component-tests/src/test/resources
parent84a209835820238f50d84ad5be5b9badaa5283c5 (diff)
Introduced yaml parser as common lib
Introduced parser with capability of search for given json paths. Introduced cucumber tests for gab service Change-Id: I154d71085ee82c1ead7c4e002a488524f60c5d8d Issue-ID: SDC-2094 Signed-off-by: Tomasz Golabek <tomasz.golabek@nokia.com>
Diffstat (limited to 'common/onap-generic-artifact-browser/onap-generic-artifact-browser-component-tests/src/test/resources')
-rw-r--r--common/onap-generic-artifact-browser/onap-generic-artifact-browser-component-tests/src/test/resources/org/onap/sdc/gab/cucumber/gab_controller.feature14
-rw-r--r--common/onap-generic-artifact-browser/onap-generic-artifact-browser-component-tests/src/test/resources/yaml/faultRegistration.yml412
2 files changed, 426 insertions, 0 deletions
diff --git a/common/onap-generic-artifact-browser/onap-generic-artifact-browser-component-tests/src/test/resources/org/onap/sdc/gab/cucumber/gab_controller.feature b/common/onap-generic-artifact-browser/onap-generic-artifact-browser-component-tests/src/test/resources/org/onap/sdc/gab/cucumber/gab_controller.feature
new file mode 100644
index 0000000000..d0d1d24514
--- /dev/null
+++ b/common/onap-generic-artifact-browser/onap-generic-artifact-browser-component-tests/src/test/resources/org/onap/sdc/gab/cucumber/gab_controller.feature
@@ -0,0 +1,14 @@
+Feature: GABService usage
+ GABService can find a keywords inside the yaml file
+
+ Scenario: Ask for two-results keyword providing path to yaml
+ Given yaml document "yaml/faultRegistration.yml" of type "PATH"
+ And header to search "event.action[1]"
+ When I ask service for results
+ Then Service should find 2 results
+
+ Scenario: Ask for single-results keyword providing yaml content
+ Given yaml document "event: {presence: required, action: [ any, any, alarm003, Clear ], structure: {}}" of type "CONTENT"
+ And header to search "event.action[1]"
+ When I ask service for results
+ Then Service should find 1 results \ No newline at end of file
diff --git a/common/onap-generic-artifact-browser/onap-generic-artifact-browser-component-tests/src/test/resources/yaml/faultRegistration.yml b/common/onap-generic-artifact-browser/onap-generic-artifact-browser-component-tests/src/test/resources/yaml/faultRegistration.yml
new file mode 100644
index 0000000000..447af5e469
--- /dev/null
+++ b/common/onap-generic-artifact-browser/onap-generic-artifact-browser-component-tests/src/test/resources/yaml/faultRegistration.yml
@@ -0,0 +1,412 @@
+---
+# registration for Fault\_vMrf\_alarm003
+# Constants: the values of domain, eventName, priority, vfstatus
+# , version, alarmCondition, eventSeverity, eventSourceType,
+# faultFieldsVersion, specificProblem,
+# Variables (to be supplied at runtime) include: eventId, lastEpochMicrosec,
+
+# reportingEntityId, reportingEntityName, sequence, sourceId, sourceName,
+# startEpochMicrosec
+
+event: {presence: required, action: [ any, any, alarm003,RECO-rebuildVnf ],
+ structure: {
+ commonEventHeader: {presence: required, structure: {
+ domain: {presence: required, value: fault},
+ eventName: {presence: required, value: Fault\_vMrf\_alarm003},
+ eventId: {presence: required},
+ nfNamingCode: {value: mrfx},
+ priority: {presence: required, value: Medium},
+ reportingEntityId: {presence: required},
+ reportingEntityName: {presence: required},
+ sequence: {presence: required},
+ sourceId: {presence: required},
+ sourceName: {presence: required},
+ startEpochMicrosec: {presence: required},
+ lastEpochMicrosec: {presence: required},
+ version: {presence: required, value: 3.0}
+ }},
+ faultFields: {presence: required, structure: {
+ alarmCondition: {presence: required, value: alarm003},
+ eventSeverity: {presence: required, value: MAJOR},
+ eventSourceType: {presence: required, value: virtualNetworkFunction},
+ faultFieldsVersion: {presence: required, value: 2.0},
+ specificProblem: {presence: required, value: "Configuration file was
+ corrupt or not present"},
+ vfStatus: {presence: required, value: "Requesting Termination"}
+ }}
+ }}
+---
+# registration for clearing Fault\_vMrf\_alarm003Cleared
+# Constants: the values of domain, eventName, priority,
+# , version, alarmCondition, eventSeverity, eventSourceType,
+# faultFieldsVersion, specificProblem,
+# Variables (to be supplied at runtime) include: eventId,lastEpochMicrosec,
+# reportingEntityId, reportingEntityName, sequence, sourceId,
+# sourceName, startEpochMicrosec, vfStatus
+event: {presence: required, action: [ any, any, alarm003, Clear ], structure: {
+ commonEventHeader: {presence: required, structure: {
+ domain: {presence: required, value: fault},
+ eventName: {presence: required, value: Fault\_vMrf\_alarm003Cleared},
+ eventId: {presence: required},
+ nfNamingCode: {value: mrfx},
+ priority: {presence: required, value: Medium},
+ reportingEntityId: {presence: required},
+ reportingEntityName: {presence: required},
+ sequence: {presence: required},
+ sourceId: {presence: required},
+ sourceName: {presence: required},
+ startEpochMicrosec: {presence: required},
+ lastEpochMicrosec: {presence: required},
+ version: {presence: required, value: 3.0}
+ }},
+ faultFields: {presence: required, structure: {
+ alarmCondition: {presence: required, value: alarm003},
+ eventSeverity: {presence: required, value: NORMAL},
+ eventSourceType: {presence: required, value: virtualNetworkFunction},
+ faultFieldsVersion: {presence: required, value: 2.0},
+ specificProblem: {presence: required, value: "Valid configuration file found"},
+ vfStatus: {presence: required, value: "Requesting Termination"}
+ }}
+}}
+---
+# registration for Heartbeat_vMRF
+# Constants: the values of domain, eventName, priority, version
+# Variables (to be supplied at runtime) include: eventId, lastEpochMicrosec,
+# reportingEntityId, reportingEntityName, sequence, sourceId, sourceName,
+# startEpochMicrosec
+event: {presence: required, heartbeatAction: [3, vnfDown,RECO-rebuildVnf],
+ structure: {
+ commonEventHeader: {presence: required, structure: {
+ domain: {presence: required, value: heartbeat},
+ eventName: {presence: required, value: Heartbeat\_vMrf},
+ eventId: {presence: required},
+ nfNamingCode: {value: mrfx},
+ priority: {presence: required, value: Normal},
+ reportingEntityId: {presence: required},
+ reportingEntityName: {presence: required},
+ sequence: {presence: required},
+ sourceId: {presence: required},
+ sourceName: {presence: required},
+ startEpochMicrosec: {presence: required},
+ lastEpochMicrosec: {presence: required},
+ version: {presence: required, value: 3.0}
+ }},
+ heartbeatFields: {presence: optional, structure:{
+ heartbeatFieldsVersion: {presence: required, value: 1.0},
+ heartbeatInterval: {presence: required, range: [ 15, 300 ], default: 60 }
+ }}
+ }}
+---
+# registration for Mfvs\_vMRF
+# Constants: the values of domain, eventName, priority, version,
+# measurementFieldsVersion, additionalMeasurements.namedArrayOfFields.name,
+# Variables (to be supplied at runtime) include: eventId, reportingEntityName, sequence,
+# sourceName, start/lastEpochMicrosec, measurementInterval,
+# concurrentSessions, requestRate, numberOfMediaPortsInUse,
+# cpuUsageArray.cpuUsage,cpuUsage.cpuIdentifier, cpuUsage.percentUsage,
+# additionalMeasurements.namedArrayOfFields.arrayOfFields,
+# vNicPerformance.receivedOctetsAccumulated,
+# vNicPerformance.transmittedOctetsAccumulated,
+# vNicPerformance.receivedTotalPacketsAccumulated,
+# vNicPerformance.transmittedTotalPacketsAccumulated,
+# vNicPerformance.vNicIdentifier, vNicPerformance.receivedOctetsDelta,
+# vNicPerformance.receivedTotalPacketsDelta,
+# vNicPerformance.transmittedOctetsDelta,
+# vNicPerformance.transmittedTotalPacketsDelta,
+# vNicPerformance.valuesAreSuspect, memoryUsageArray.memoryUsage,
+# memoryUsage.memoryConfigured, memoryUsage.vmIdentifier,
+# memoryUsage.memoryUsed, memoryUsage.memoryFree
+event: {presence: required, structure: {
+ commonEventHeader: {presence: required, structure: {
+ domain: {presence: required, value: measurementsForVfScaling},
+ eventName: {presence: required, value: Mfvs\_vMrf},
+ eventId: {presence: required},
+ nfNamingCode: {value: mrfx},
+ priority: {presence: required, value: Normal},
+ reportingEntityId: {presence: required},
+ reportingEntityName: {presence: required},
+ sequence: {presence: required},
+ sourceId: {presence: required},
+ sourceName: {presence: required},
+ startEpochMicrosec: {presence: required},
+ lastEpochMicrosec: {presence: required},
+ version: {presence: required, value: 3.0}
+ }},
+ measurementsForVfScalingFields: {presence: required, structure: {
+ measurementFieldsVersion: {presence: required, value: 2.0},
+ measurementInterval: {presence: required, range: [ 60, 3600 ], default:300},
+ concurrentSessions: {presence: required, range: [ 0, 100000 ]},
+ requestRate: {presence: required, range: [ 0, 100000 ]},
+ numberOfMediaPortsInUse: {presence: required, range: [ 0, 100000 ]},
+ cpuUsageArray: {presence: required, array: [
+ cpuUsage: {presence: required, structure: {
+ cpuIdentifier: {presence: required},
+ percentUsage: {presence: required, range: [ 0, 100 ],
+ action: [80, up, CpuUsageHigh, RECO-scaleOut],
+ action: [10, down, CpuUsageLow, RECO-scaleIn]}
+ }}
+ ]},
+ memoryUsageArray: {presence: required, array: [
+ memoryUsage: {presence: required, structure: {
+ memoryConfigured: {presence: required, value: 33554432},
+ memoryFree: {presence: required, range: [ 0, 33554432 ],
+ action: [100, down, FreeMemLow, RECO-scaleOut],
+ action: [30198989, up, FreeMemHigh, RECO-scaleIn]},
+ memoryUsed: {presence: required, range: [ 0, 33554432 ]},
+ vmIdentifier: {presence: required}
+ }}
+ ]},
+ additionalMeasurements: {presence: required, array: [
+ namedArrayOfFields: {presence: required, structure: {
+ name: {presence: required, value: licenseUsage},
+ arrayOfFields: {presence: required, array: [
+ field: {presence: required, structure: {
+ name: {presence: required, value: G711AudioPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: G729AudioPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: G722AudioPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: AMRAudioPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: AMRWBAudioPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: OpusAudioPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: H263VideoPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: H264NonHCVideoPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: H264HCVideoPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: MPEG4VideoPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: VP8NonHCVideoPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: VP8HCVideoPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: PLC},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: AEC},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: NR},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: NG},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: NLD},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: G711FaxPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: T38FaxPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: RFactor},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: T140TextPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: EVSAudioPort},
+ value: {presence: required, range: [ 0, 100000 ],
+ units: numberOfPorts }
+ }}
+ ]}
+ }},
+ namedArrayOfFields: {presence: required, structure: {
+ name: {presence: required, value: mediaCoreUtilization},
+ arrayOfFields: {presence: required, array: [
+ field: {presence: required, structure: {
+ name: {presence: required, value: actualAvgAudio},
+ value: {presence: required, range: [ 0, 255 ],
+ action: [80, up, AudioCoreUsageHigh, RECO-scaleOut],
+ action: [10, down, AudioCoreUsageLow, RECO-scaleIn]}
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: modelAvgAudio},
+ value: {presence: required, range: [ 0, 100 ],
+ action: [80, up, AudioCoreUsageHigh, RECO-scaleOut],
+ action: [10, down, AudioCoreUsageLow, RECO-scaleIn]}
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: actualMaxAudio},
+ value: {presence: required, range: [ 0, 255 ]}
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: modelMaxAudio},
+ value: {presence: required, range: [ 0, 100 ]}
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: actualAvgVideo},
+ value: {presence: required, range: [ 0, 255 ],
+ action: [80, up, VideoCoreUsageHigh, RECO-scaleOut],
+ action: [10, down, VideoCoreUsageLow, RECO-scaleIn]}
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: modelAvgVideo},
+ value: {presence: required, range: [ 0, 100 ],
+ action: [80, up, VideoCoreUsageHigh, RECO-scaleOut],
+ action: [10, down, VideoCoreUsageLow, RECO-scaleIn]}
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: actualMaxVideo},
+ value: {presence: required, range: [ 0, 255 ]}
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: modelMaxVideo},
+ value: {presence: required, range: [ 0, 100 ]}
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: actualAvgHcVideo},
+ value: {presence: required, range: [ 0, 255 ],
+ action: [80, up, HcVideoCoreUsageHigh, RECO-scaleOut],
+ action: [10, down, HcVideoCoreUsageLow, RECO-scaleIn]}
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: modelAvgHcVideo},
+ value: {presence: required, range: [ 0, 100 ],
+ action: [80, up, HcVideoCoreUsageHigh, RECO-scaleOut],
+ action: [10, down, HcVideoCoreUsageLow, RECO-scaleIn]}
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: actualMaxHcVideo},
+ value: {presence: required, range: [ 0, 255 ]}
+ }},
+ field: {presence: required, structure: {
+ name: {presence: required, value: modelMaxHcVideo},
+ value: {presence: required, range: [ 0, 100 ]}
+ }}
+ ]}
+ }}
+ ]},
+ vNicPerformanceArray: {presence: required, array: [
+ vNicPerformance: {presence: required, structure: {
+ receivedOctetsAccumulated: {presence: required,
+ range: [ 0, 18446744073709551615 ]},
+ receivedTotalPacketsAccumulated: {presence: required,
+ range: [ 0, 18446744073709551615 ]},
+ receivedOctetsDelta: {presence: required},
+ range: [ 0, 18446744073709551615 ],
+ receivedTotalPacketsDelta: {presence: required,
+ range: [ 0, 18446744073709551615 ]},
+ transmittedOctetsDelta: {presence: required,
+ range: [ 0, 18446744073709551615 ]},
+ transmittedOctetsAccumulated: {presence: required,
+ range: [ 0, 18446744073709551615 ]},
+ transmittedTotalPacketsAccumulated: {presence: required,
+ range: [ 0, 18446744073709551615 ]},
+ transmittedTotalPacketsDelta: {presence: required,
+ range: [ 0, 18446744073709551615 ]},
+ valuesAreSuspect: {presence: required, value: [ true, false ]},
+ vNicIdentifier: {presence: required}
+ }}
+ ]}
+ }}
+}}
+---
+# registration for Syslog\_vMRF
+# Constants: the values of domain, eventName, priority, lastEpochMicrosec, version,
+# syslogFields.syslogFieldsVersion, syslogFields.syslogTag
+# Variables include: eventId, lastEpochMicrosec, reportingEntityId, reportingEntityName,
+# sequence, sourceId, sourceName, startEpochMicrosec,
+# syslogFields.eventSourceHost, syslogFields.eventSourceType,
+# syslogFields.syslogFacility, syslogFields.syslogMsg
+event: {presence: required, structure: {
+ commonEventHeader: {presence: required, structure: {
+ domain: {presence: required, value: syslog},
+ eventName: {presence: required, value: Syslog\_vMrf},
+ eventId: {presence: required},
+ nfNamingCode: {value: mrfx},
+ priority: {presence: required, value: Normal},
+ reportingEntityId: {presence: required},
+ reportingEntityName: {presence: required},
+ sequence: {presence: required},
+ sourceId: {presence: required},
+ sourceName: {presence: required},
+ startEpochMicrosec: {presence: required},
+ lastEpochMicrosec: {presence: required},
+ version: {presence: required, value: 3.0},
+ }},
+ syslogFields: {presence: required, structure: {
+ eventSourceHost: {presence: required},
+ eventSourceType: {presence: required, value: virtualNetworkFunction},
+ syslogFacility: {presence: required, range: [16, 23]},
+ syslogSev: {presence: required, value: [ 0, 1, 2, 3, 4 ]},
+ syslogFieldsVersion: {presence: required, value: 3.0},
+ syslogMsg: {presence: required},
+ syslogTag: {presence: required, value: vMRF},
+ }}
+}}
+---
+#Rules
+Rules: [
+ rule: {
+ trigger: CpuUsageHigh \|\| FreeMemLow \|\| AudioCoreUsageHigh \|\|
+ VideoCoreUsageHigh \|\| HcVideoCoreUsageHigh,
+ microservices: [scaleOut]
+ },
+ rule: {
+ trigger: CpuUsageLow && FreeMemHigh && AudioCoreUsageLow &&
+ VideoCoreUsageLow && HcVideoCoreUsageLow,
+ microservices: [scaleIn]
+ }
+] \ No newline at end of file