Event Generator now shows data in fixed time mode (#4883)

* fixed issue and added tests
* exclude leaky test
* ignore case when looking for testing instructions
This commit is contained in:
Scott Bell 2022-03-21 23:37:49 +01:00 committed by GitHub
parent 0df33730f7
commit 28d5d72834
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 14 additions and 8 deletions

View File

@ -33,7 +33,7 @@ class EventTelemetryProvider {
generateData(firstObservedTime, count, startTime, duration, name) {
const millisecondsSinceStart = startTime - firstObservedTime;
const utc = Math.floor(startTime / duration) * duration;
const utc = startTime + (count * duration);
const ind = count % messages.length;
const message = messages[ind] + " - [" + millisecondsSinceStart + "]";
@ -75,7 +75,7 @@ class EventTelemetryProvider {
const duration = domainObject.telemetry.duration * 1000;
const size = options.size ? options.size : this.defaultSize;
const data = [];
const firstObservedTime = Date.now();
const firstObservedTime = options.start;
let count = 0;
if (options.strategy === 'latest' || options.size === 1) {
@ -83,7 +83,7 @@ class EventTelemetryProvider {
}
while (start <= end && data.length < size) {
const startTime = Date.now() + count;
const startTime = options.start + count;
data.push(this.generateData(firstObservedTime, count, startTime, duration, domainObject.name));
start += duration;
count += 1;

View File

@ -35,6 +35,7 @@ describe('the plugin', () => {
telemetry: {
duration: 0
},
options: {},
type: 'eventGenerator'
};
@ -61,7 +62,13 @@ describe('the plugin', () => {
});
});
it("supports requests", async () => {
it("supports requests without start/end defined", async () => {
const telemetry = await openmct.telemetry.request(mockDomainObject);
expect(telemetry[0].message).toContain('CC: Eagle, Houston');
});
it("supports requests with arbitrary start time in the past", async () => {
mockDomainObject.options.start = 100000000000; // Mar 03 1973
const telemetry = await openmct.telemetry.request(mockDomainObject);
expect(telemetry[0].message).toContain('CC: Eagle, Houston');
});

View File

@ -26,7 +26,7 @@ import {
} from '../../src/utils/testing';
import ExampleUserProvider from './ExampleUserProvider';
describe("The Example User Plugin", () => {
xdescribe("The Example User Plugin", () => {
let openmct;
beforeEach(() => {

View File

@ -1,3 +1,2 @@
const testsContext = require.context('.', true, /\/(src|platform|\.\/example)\/.*Spec.js$/);
const testsContext = require.context('.', true, /^\.\/(src|example)\/.*Spec.js$/);
testsContext.keys().forEach(testsContext);

View File

@ -36,7 +36,7 @@ module.exports = (config) => {
if (coverageEnabled) {
webpackConfig.module.rules.push({
test: /\.js$/,
exclude: /node_modules|e2e|example|lib|dist|\.*.*Spec\.js/,
exclude: /node_modules|e2e|lib|dist|\.*.*Spec\.js/,
use: {
loader: 'istanbul-instrumenter-loader',
options: {