mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-21 09:03:02 +00:00
@@ -18,6 +18,7 @@ import {StAppsWebHttpClient} from '../data/stapps-web-http-client.provider';
|
||||
import {StorageProvider} from '../storage/storage.provider';
|
||||
import {ConfigProvider, STORAGE_KEY_CONFIG} from './config.provider';
|
||||
import {ConfigFetchError, ConfigInitError, SavedConfigNotAvailable, WrongConfigVersionInStorage,} from './errors';
|
||||
import {NGXLogger} from "ngx-logger";
|
||||
|
||||
describe('ConfigProvider', () => {
|
||||
let configProvider: ConfigProvider;
|
||||
@@ -26,6 +27,7 @@ describe('ConfigProvider', () => {
|
||||
beforeEach(() => {
|
||||
const storageProviderMethodSpy = jasmine.createSpyObj('StorageProvider', ['init', 'get', 'has', 'put']);
|
||||
const webHttpClientMethodSpy = jasmine.createSpyObj('StAppsWebHttpClient', ['request']);
|
||||
const ngxLogger: jasmine.SpyObj<NGXLogger> = jasmine.createSpyObj('NGXLogger', ['log', 'error', 'warn']);
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [],
|
||||
@@ -37,6 +39,9 @@ describe('ConfigProvider', () => {
|
||||
{
|
||||
provide: StAppsWebHttpClient, useValue: webHttpClientMethodSpy,
|
||||
},
|
||||
{
|
||||
provide: NGXLogger, useValue: ngxLogger,
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2019 StApps
|
||||
* Copyright (C) 2019, 2020 StApps
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the Free
|
||||
* Software Foundation, version 3.
|
||||
@@ -15,7 +15,7 @@
|
||||
import {Injectable} from '@angular/core';
|
||||
import {Client} from '@openstapps/api/lib/client';
|
||||
import {SCAppConfiguration, SCIndexResponse} from '@openstapps/core';
|
||||
import {Logger} from '@openstapps/logger';
|
||||
import {NGXLogger} from 'ngx-logger';
|
||||
import {environment} from '../../../environments/environment';
|
||||
import {StAppsWebHttpClient} from '../data/stapps-web-http-client.provider';
|
||||
import {StorageProvider} from '../storage/storage.provider';
|
||||
@@ -55,10 +55,13 @@ export class ConfigProvider {
|
||||
/**
|
||||
* Constructor, initialise api client
|
||||
*
|
||||
* @param storageProvider StorageProvider to load persistet configuration
|
||||
* @param storageProvider StorageProvider to load persistent configuration
|
||||
* @param swHttpClient Api client
|
||||
* @param logger An angular logger
|
||||
*/
|
||||
constructor(private readonly storageProvider: StorageProvider, swHttpClient: StAppsWebHttpClient) {
|
||||
constructor(private readonly storageProvider: StorageProvider,
|
||||
swHttpClient: StAppsWebHttpClient,
|
||||
private readonly logger: NGXLogger) {
|
||||
this.client = new Client(swHttpClient, environment.backend_url, environment.backend_version);
|
||||
}
|
||||
|
||||
@@ -109,10 +112,10 @@ export class ConfigProvider {
|
||||
try {
|
||||
this.config = await this.loadLocal();
|
||||
this.initialised = true;
|
||||
Logger.log(`initialised configuration from storage`);
|
||||
this.logger.log(`initialised configuration from storage`);
|
||||
if (this.config.backend.SCVersion !== environment.backend_version) {
|
||||
loadError = new WrongConfigVersionInStorage(environment.backend_version, this.config.backend.SCVersion);
|
||||
Logger.warn(loadError);
|
||||
this.logger.warn(loadError);
|
||||
}
|
||||
} catch (error) {
|
||||
loadError = error;
|
||||
@@ -122,7 +125,7 @@ export class ConfigProvider {
|
||||
const fetchedConfig: SCIndexResponse = await this.fetch();
|
||||
await this.set(fetchedConfig);
|
||||
this.initialised = true;
|
||||
Logger.log(`initialised configuration from remote`);
|
||||
this.logger.log(`initialised configuration from remote`);
|
||||
} catch (error) {
|
||||
fetchError = error;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user