78 lines
1.8 KiB
TypeScript
78 lines
1.8 KiB
TypeScript
import type {CommandLineOptions} from './CommandLine';
|
|
|
|
type ApplicationCredentials = {
|
|
applicationId: string;
|
|
secret: string;
|
|
};
|
|
|
|
type Uri = {
|
|
pcast: string;
|
|
ingest: string | undefined;
|
|
channel: string | undefined;
|
|
publisher: string | undefined;
|
|
};
|
|
|
|
type BrowserstackConfiguration = {
|
|
enabled: boolean;
|
|
local: boolean;
|
|
user: string;
|
|
key: string;
|
|
};
|
|
|
|
export default class TestConfiguration {
|
|
private readonly _applicationCredentials: ApplicationCredentials;
|
|
private readonly _uri: Uri;
|
|
private readonly _viewers: string[];
|
|
private readonly _publishers: string[];
|
|
private readonly _tests: string[];
|
|
private readonly _browserstack: BrowserstackConfiguration;
|
|
|
|
constructor(commandLineOptions: CommandLineOptions) {
|
|
this._applicationCredentials = {
|
|
applicationId: commandLineOptions.applicationId,
|
|
secret: commandLineOptions.secret
|
|
};
|
|
|
|
this._uri = {
|
|
pcast: commandLineOptions.pcastUri,
|
|
ingest: commandLineOptions.ingestUri,
|
|
channel: commandLineOptions.channelUri,
|
|
publisher: commandLineOptions.publisherUri
|
|
};
|
|
|
|
this._viewers = commandLineOptions.viewers;
|
|
this._publishers = commandLineOptions.publishers;
|
|
this._tests = commandLineOptions.tests;
|
|
this._browserstack = {
|
|
enabled: commandLineOptions.useBrowserstack,
|
|
local: commandLineOptions.useBrowserstackLocal,
|
|
user: commandLineOptions.browserstackUser,
|
|
key: commandLineOptions.browserstackKey
|
|
};
|
|
}
|
|
|
|
get applicationCredentials(): ApplicationCredentials {
|
|
return this._applicationCredentials;
|
|
}
|
|
|
|
get uri(): Uri {
|
|
return this._uri;
|
|
}
|
|
|
|
get viewers(): string[] {
|
|
return this._viewers;
|
|
}
|
|
|
|
get publishers(): string[] {
|
|
return this._publishers;
|
|
}
|
|
|
|
get tests(): string[] {
|
|
return this._tests;
|
|
}
|
|
|
|
get browserstack(): BrowserstackConfiguration {
|
|
return this._browserstack;
|
|
}
|
|
}
|