@appium/fake-plugin 4.2.2 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,10 +13,13 @@ export declare class FakePlugin extends BasePlugin {
13
13
  protected _clockRunning: boolean;
14
14
  private readonly fakeThing;
15
15
  private pluginThing;
16
+ private fakeDriverClockIsRunning;
17
+ private ipcPluginMath?;
16
18
  constructor(name: string, cliArgs?: Record<string, unknown>);
17
19
  static fakeRoute(_req: Request, res: Response): void;
18
20
  static unexpectedData(_req: Request, res: Response): void;
19
21
  static updateServer(expressApp: Application, _httpServer: AppiumServer, cliArgs: Record<string, unknown>): Promise<void>;
22
+ onIpcInit(): Promise<void>;
20
23
  startClock(): Promise<void>;
21
24
  doSomeMath(next: () => Promise<number>, _driver: DriverLike, num1: number, num2: number): Promise<number>;
22
25
  doSomeMath2(_next: () => Promise<unknown>, _driver: DriverLike, num1: number, num2: number): Promise<number>;
@@ -25,6 +28,7 @@ export declare class FakePlugin extends BasePlugin {
25
28
  setPluginThing(_next: () => Promise<unknown>, _driver: DriverLike, thing: unknown): Promise<void>;
26
29
  plugMeIn(_next: () => Promise<unknown>, _driver: DriverLike, socket: string): Promise<string>;
27
30
  getFakePluginArgs(): Promise<Record<string, unknown>>;
31
+ getFakeDriverClockStatus(): Promise<boolean>;
28
32
  getPageSource(_next: () => Promise<string>, _driver: DriverLike, ...args: unknown[]): Promise<string>;
29
33
  findElement(next: () => Promise<{
30
34
  fake?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../lib/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../lib/plugin.ts"],"names":[],"mappings":"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"}
@@ -50,11 +50,16 @@ class FakePlugin extends plugin_1.BasePlugin {
50
50
  command: 'plugMeIn',
51
51
  params: { required: ['socket'] },
52
52
  },
53
+ 'fake: getFakeDriverClockStatus': {
54
+ command: 'getFakeDriverClockStatus',
55
+ },
53
56
  };
54
57
  static _unexpectedData = null;
55
58
  _clockRunning = true;
56
59
  fakeThing;
57
60
  pluginThing = null;
61
+ fakeDriverClockIsRunning = false;
62
+ ipcPluginMath;
58
63
  constructor(name, cliArgs = {}) {
59
64
  super(name, cliArgs);
60
65
  this.fakeThing = 'PLUGIN_FAKE_THING';
@@ -74,6 +79,19 @@ class FakePlugin extends plugin_1.BasePlugin {
74
79
  res.send(JSON.stringify(cliArgs));
75
80
  });
76
81
  }
82
+ async onIpcInit() {
83
+ const clockSub = this.ipcSubscribe('clockLifecycle');
84
+ clockSub.on('message', (message) => {
85
+ this.fakeDriverClockIsRunning = message.data.running;
86
+ });
87
+ // subscribing to clockLifecycle doesn't tell us the current status if it started before this
88
+ // constructor was called, so retrieve it
89
+ const message = clockSub.getMessage();
90
+ if (message) {
91
+ this.fakeDriverClockIsRunning = message.data.running;
92
+ }
93
+ this.ipcPluginMath = this.ipcSubscribe('pluginMath');
94
+ }
77
95
  async startClock() {
78
96
  while (this._clockRunning) {
79
97
  await (0, asyncbox_1.sleep)(250);
@@ -89,7 +107,11 @@ class FakePlugin extends plugin_1.BasePlugin {
89
107
  }
90
108
  async doSomeMath2(_next, _driver, num1, num2) {
91
109
  await (0, asyncbox_1.sleep)(1);
92
- return num1 * num2;
110
+ const result = num1 * num2;
111
+ if (this.ipcPluginMath) {
112
+ await this.ipcPluginMath.publish(result);
113
+ }
114
+ return result;
93
115
  }
94
116
  async getFakeThing() {
95
117
  await (0, asyncbox_1.sleep)(1);
@@ -113,6 +135,9 @@ class FakePlugin extends plugin_1.BasePlugin {
113
135
  await (0, asyncbox_1.sleep)(1);
114
136
  return this.cliArgs;
115
137
  }
138
+ async getFakeDriverClockStatus() {
139
+ return this.fakeDriverClockIsRunning;
140
+ }
116
141
  async getPageSource(_next, _driver, ...args) {
117
142
  await (0, asyncbox_1.sleep)(10);
118
143
  return `<Fake>${JSON.stringify(args)}</Fake>`;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../lib/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../lib/plugin.ts"],"names":[],"mappings":"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"}
package/lib/plugin.ts CHANGED
@@ -6,12 +6,16 @@ import type {
6
6
  BidiModuleMap,
7
7
  ExecuteMethodMap,
8
8
  ExternalDriver,
9
+ IpcMessage,
9
10
  MethodMap,
11
+ IIpcSubscription,
10
12
  } from '@appium/types';
11
13
 
12
14
  /** Driver as seen by this plugin; may include plugin-specific session data */
13
15
  export type DriverLike = ExternalDriver & {fakeSessionData?: unknown};
14
16
 
17
+ type ClockStatus = {running: boolean};
18
+
15
19
  export class FakePlugin extends BasePlugin {
16
20
  static newMethodMap: MethodMap<FakePlugin> = {
17
21
  '/session/:sessionId/fake_data': {
@@ -61,12 +65,17 @@ export class FakePlugin extends BasePlugin {
61
65
  command: 'plugMeIn',
62
66
  params: {required: ['socket']},
63
67
  },
68
+ 'fake: getFakeDriverClockStatus': {
69
+ command: 'getFakeDriverClockStatus',
70
+ },
64
71
  };
65
72
 
66
73
  private static _unexpectedData: string | null = null;
67
74
  protected _clockRunning: boolean = true;
68
75
  private readonly fakeThing: string;
69
76
  private pluginThing: unknown = null;
77
+ private fakeDriverClockIsRunning: boolean = false;
78
+ private ipcPluginMath?: IIpcSubscription<number>;
70
79
 
71
80
  constructor(name: string, cliArgs: Record<string, unknown> = {}) {
72
81
  super(name, cliArgs);
@@ -95,6 +104,20 @@ export class FakePlugin extends BasePlugin {
95
104
  });
96
105
  }
97
106
 
107
+ async onIpcInit() {
108
+ const clockSub = this.ipcSubscribe<ClockStatus>('clockLifecycle');
109
+ clockSub.on('message', (message: IpcMessage<ClockStatus>) => {
110
+ this.fakeDriverClockIsRunning = message.data.running;
111
+ });
112
+ // subscribing to clockLifecycle doesn't tell us the current status if it started before this
113
+ // constructor was called, so retrieve it
114
+ const message = clockSub.getMessage();
115
+ if (message) {
116
+ this.fakeDriverClockIsRunning = message.data.running;
117
+ }
118
+ this.ipcPluginMath = this.ipcSubscribe<number>('pluginMath');
119
+ }
120
+
98
121
  async startClock(): Promise<void> {
99
122
  while (this._clockRunning) {
100
123
  await sleep(250);
@@ -122,7 +145,11 @@ export class FakePlugin extends BasePlugin {
122
145
  num2: number
123
146
  ): Promise<number> {
124
147
  await sleep(1);
125
- return num1 * num2;
148
+ const result = num1 * num2;
149
+ if (this.ipcPluginMath) {
150
+ await this.ipcPluginMath.publish(result);
151
+ }
152
+ return result;
126
153
  }
127
154
 
128
155
  async getFakeThing(): Promise<string> {
@@ -160,6 +187,10 @@ export class FakePlugin extends BasePlugin {
160
187
  return this.cliArgs;
161
188
  }
162
189
 
190
+ async getFakeDriverClockStatus(): Promise<boolean> {
191
+ return this.fakeDriverClockIsRunning;
192
+ }
193
+
163
194
  async getPageSource(
164
195
  _next: () => Promise<string>,
165
196
  _driver: DriverLike,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appium/fake-plugin",
3
- "version": "4.2.2",
3
+ "version": "4.3.0",
4
4
  "description": "A fake Appium plugin",
5
5
  "keywords": [
6
6
  "automation",
@@ -39,13 +39,12 @@
39
39
  "test:unit": "mocha \"./test/unit/**/*.spec.*ts\""
40
40
  },
41
41
  "dependencies": {
42
- "@appium/base-plugin": "3.2.2",
43
- "@appium/support": "7.2.0",
44
- "asyncbox": "6.2.0",
45
- "lodash": "4.18.1"
42
+ "@appium/base-plugin": "3.3.0",
43
+ "@appium/support": "7.2.3",
44
+ "asyncbox": "6.3.0"
46
45
  },
47
46
  "devDependencies": {
48
- "@appium/types": "1.4.0",
47
+ "@appium/types": "1.5.0",
49
48
  "express": "5.2.1"
50
49
  },
51
50
  "peerDependencies": {
@@ -66,7 +65,7 @@
66
65
  "publishConfig": {
67
66
  "access": "public"
68
67
  },
69
- "gitHead": "915d767085c6b40ae90b7592d5130c76414ca3b5",
68
+ "gitHead": "8018f8b70ecc975fa115e19072ef337b8473865d",
70
69
  "tags": [
71
70
  "appium"
72
71
  ]
package/tsconfig.json CHANGED
@@ -2,6 +2,7 @@
2
2
  "compilerOptions": {
3
3
  "rootDir": ".",
4
4
  "outDir": "build",
5
+ "strict": true,
5
6
  "types": ["mocha", "chai", "chai-as-promised"]
6
7
  },
7
8
  "extends": "@appium/tsconfig/tsconfig.plugin.json",