[7.x] [Newsfeed] Ensure the version format when calling the API (#76381) (#76623)

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
This commit is contained in:
Alejandro Fernández Haro 2020-09-03 14:44:22 +01:00 committed by GitHub
parent ef54fedd22
commit b38e32f91a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 10 deletions

View file

@ -48,7 +48,7 @@ Object.defineProperty(window, 'sessionStorage', {
});
describe('NewsfeedApiDriver', () => {
const kibanaVersion = 'test_version';
const kibanaVersion = '99.999.9-test_version'; // It'll remove the `-test_version` bit
const userLanguage = 'en';
const fetchInterval = 2000;
const getDriver = () => new NewsfeedApiDriver(kibanaVersion, userLanguage, fetchInterval);
@ -179,7 +179,7 @@ describe('NewsfeedApiDriver', () => {
"error": null,
"feedItems": Array [],
"hasNew": false,
"kibanaVersion": "test_version",
"kibanaVersion": "99.999.9",
}
`);
});
@ -227,7 +227,7 @@ describe('NewsfeedApiDriver', () => {
},
],
hasNew: true,
kibanaVersion: 'test_version',
kibanaVersion: '99.999.9',
});
});
@ -309,7 +309,7 @@ describe('NewsfeedApiDriver', () => {
},
],
hasNew: true,
kibanaVersion: 'test_version',
kibanaVersion: '99.999.9',
});
});
@ -375,7 +375,7 @@ describe('NewsfeedApiDriver', () => {
},
],
hasNew: true,
kibanaVersion: 'test_version',
kibanaVersion: '99.999.9',
});
});
@ -405,7 +405,7 @@ describe('NewsfeedApiDriver', () => {
"error": null,
"feedItems": Array [],
"hasNew": false,
"kibanaVersion": "test_version",
"kibanaVersion": "99.999.9",
}
`);
});
@ -436,7 +436,7 @@ describe('NewsfeedApiDriver', () => {
"error": null,
"feedItems": Array [],
"hasNew": false,
"kibanaVersion": "test_version",
"kibanaVersion": "99.999.9",
}
`);
});

View file

@ -32,13 +32,17 @@ import { ApiItem, NewsfeedItem, FetchResult, NewsfeedPluginBrowserConfig } from
type ApiConfig = NewsfeedPluginBrowserConfig['service'];
export class NewsfeedApiDriver {
private readonly kibanaVersion: string;
private readonly loadedTime = moment().utc(); // the date is compared to time in UTC format coming from the service
constructor(
private readonly kibanaVersion: string,
kibanaVersion: string,
private readonly userLanguage: string,
private readonly fetchInterval: number
) {}
) {
// The API only accepts versions in the format `X.Y.Z`, so we need to drop the `-SNAPSHOT` or any other label after it
this.kibanaVersion = kibanaVersion.replace(/^(\d+\.\d+\.\d+).*/, '$1');
}
shouldFetch(): boolean {
const lastFetchUtc: string | null = sessionStorage.getItem(NEWSFEED_LAST_FETCH_STORAGE_KEY);

View file

@ -25,7 +25,7 @@ export class NewsFeedSimulatorPlugin implements Plugin {
public setup({ http }: CoreSetup) {
const router = http.createRouter();
const version = this.initializerContext.env.packageInfo.version;
const version = this.initializerContext.env.packageInfo.version.replace('-SNAPSHOT', '');
router.get(
{