Skip to content
This repository was archived by the owner on May 20, 2025. It is now read-only.

Commit deffe54

Browse files
Add test case for disabling api calls
1 parent 8edb766 commit deffe54

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/script/acquisition-sdk.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export class AcquisitionManager {
6666
private _ignoreAppVersion: boolean;
6767
private _serverUrl: string;
6868
private _publicPrefixUrl: string = "v0.1/public/codepush/";
69-
private static _apiCallsDisabled: Boolean = false;
69+
private static _apiCallsDisabled: boolean = false;
7070
constructor(httpRequester: Http.Requester, configuration: Configuration) {
7171
this._httpRequester = httpRequester;
7272

@@ -81,6 +81,9 @@ export class AcquisitionManager {
8181
this._ignoreAppVersion = configuration.ignoreAppVersion;
8282
}
8383

84+
public static get apiCallsDisabled(): boolean {
85+
return this._apiCallsDisabled;
86+
}
8487
private disableApiCalls(statusCode: number) {
8588
if (this._serverUrl.includes(this.BASER_URL) && !(statusCode >= 500 || statusCode == 408 || statusCode == 429)) {
8689
AcquisitionManager._apiCallsDisabled = true

src/test/acquisition-sdk.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,23 @@ describe("Acquisition SDK", () => {
226226
done();
227227
}));
228228
});
229+
230+
it("disables api calls on unsuccessful response", (done: Mocha.Done): void => {
231+
var invalidJsonResponse: acquisitionSdk.Http.Response = {
232+
statusCode: 404,
233+
body: "Not found"
234+
};
235+
configuration={...configuration, serverUrl:"https://codepush.appcenter.ms"}
236+
var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.CustomResponseHttpRequester(invalidJsonResponse), configuration);
237+
acquisition.queryUpdateWithCurrentPackage(templateCurrentPackage, (error: Error, returnPackage: acquisitionSdk.RemotePackage | acquisitionSdk.NativeUpdateNotification) => {
238+
assert.strictEqual(acquisitionSdk.AcquisitionManager.apiCallsDisabled, true);
239+
done();
240+
});
241+
})
229242
});
230243

244+
245+
231246
function clone<T>(initialObject: T): T {
232247
return JSON.parse(JSON.stringify(initialObject));
233248
}

0 commit comments

Comments
 (0)