Extract WWW certificate provider

Summary: Extract WWW certificate provider from the iOS certificate provider. Hide its implementation from OSS since it is not relevant for OSS folks.

Reviewed By: mweststrate

Differential Revision: D33895378

fbshipit-source-id: 376afda3b5fa3857c0eb280b92555314eb1a0d1f
This commit is contained in:
Andrey Goncharov
2022-02-02 03:05:34 -08:00
committed by Facebook GitHub Bot
parent 29f6d0e711
commit fd13399cb9
8 changed files with 52 additions and 129 deletions

View File

@@ -9,15 +9,14 @@
import CertificateProvider from '../../utils/CertificateProvider';
import {Client} from 'adbkit';
import {KeytarManager} from '../../utils/keytar';
import * as androidUtil from './androidContainerUtility';
import {csrFileName} from '../../utils/certificateUtils';
import {csrFileName, extractAppNameFromCSR} from '../../utils/certificateUtils';
const logTag = 'AndroidCertificateProvider';
export default class AndroidCertificateProvider extends CertificateProvider {
constructor(keytarManager: KeytarManager, private adb: Client) {
super(keytarManager);
constructor(private adb: Client) {
super();
}
async getTargetDeviceId(
@@ -75,13 +74,13 @@ export default class AndroidCertificateProvider extends CertificateProvider {
return matchingIds[0];
}
protected async handleFSBasedDeploy(
protected async deployOrStageFileForDevice(
destination: string,
filename: string,
contents: string,
csr: string,
appName: string,
) {
const appName = await extractAppNameFromCSR(csr);
const deviceId = await this.getTargetDeviceId(appName, destination, csr);
await androidUtil.push(
this.adb,

View File

@@ -31,10 +31,7 @@ export class AndroidDeviceManager {
this.adbClient,
'AndroidDeviceManager.certificateProvider -> missing adbClient',
);
return new AndroidCertificateProvider(
this.flipperServer.keytarManager,
this.adbClient,
);
return new AndroidCertificateProvider(this.adbClient);
}
private createDevice(

View File

@@ -18,7 +18,7 @@ export default class DesktopCertificateProvider extends CertificateProvider {
return '';
}
protected async handleFSBasedDeploy(
protected async deployOrStageFileForDevice(
destination: string,
filename: string,
contents: string,

View File

@@ -8,21 +8,20 @@
*/
import {IdbConfig} from './idbConfig';
import {KeytarManager} from '../../utils/keytar';
import CertificateProvider from '../../utils/CertificateProvider';
import iosUtil from './iOSContainerUtility';
import fs from 'fs-extra';
import {promisify} from 'util';
import tmp, {DirOptions} from 'tmp';
import {csrFileName} from '../../utils/certificateUtils';
import {csrFileName, extractAppNameFromCSR} from '../../utils/certificateUtils';
import path from 'path';
const tmpDir = promisify(tmp.dir) as (options?: DirOptions) => Promise<string>;
// eslint-disable-next-line @typescript-eslint/naming-convention
export default class iOSCertificateProvider extends CertificateProvider {
constructor(keytarManager: KeytarManager, private idbConfig: IdbConfig) {
super(keytarManager);
constructor(private idbConfig: IdbConfig) {
super();
}
async getTargetDeviceId(
@@ -62,13 +61,13 @@ export default class iOSCertificateProvider extends CertificateProvider {
return matchingIds[0];
}
protected async handleFSBasedDeploy(
protected async deployOrStageFileForDevice(
destination: string,
filename: string,
contents: string,
csr: string,
appName: string,
) {
const appName = await extractAppNameFromCSR(csr);
try {
await fs.writeFile(destination + filename, contents);
} catch (err) {

View File

@@ -46,10 +46,7 @@ export class IOSDeviceManager {
this.idbConfig,
'IOSDeviceManager.certificateProvider -> missing idbConfig',
);
return new iOSCertificateProvider(
this.flipperServer.keytarManager,
this.idbConfig,
);
return new iOSCertificateProvider(this.idbConfig);
}
private forwardPort(port: number, multiplexChannelPort: number) {