test_initializeTemporaryClient.js (1927B)
1 /** 2 * Any copyright is dedicated to the Public Domain. 3 * http://creativecommons.org/publicdomain/zero/1.0/ 4 */ 5 6 /** 7 * This test is mainly to verify that initializeTemporaryClient() does call 8 * QuotaManager::EnsureTemporaryClientIsInitialized() which ensures client 9 * directory existence. 10 */ 11 12 async function testSteps() { 13 const clientMetadata = { 14 persistence: "default", 15 principal: getPrincipal("https://foo.example.com"), 16 client: "sdb", 17 file: getRelativeFile("storage/default/https+++foo.example.com/sdb"), 18 }; 19 20 info("Clearing"); 21 22 let request = clear(); 23 await requestFinished(request); 24 25 info("Initializing"); 26 27 request = init(); 28 await requestFinished(request); 29 30 info("Initializing temporary storage"); 31 32 request = initTemporaryStorage(); 33 await requestFinished(request); 34 35 info("Initializing temporary client"); 36 37 request = initTemporaryClient( 38 clientMetadata.persistence, 39 clientMetadata.principal, 40 clientMetadata.client, 41 /* createIfNonExistent */ true 42 ); 43 44 try { 45 await requestFinished(request); 46 ok(false, "Should have thrown"); 47 } catch (e) { 48 ok(true, "Should have thrown"); 49 Assert.strictEqual( 50 e.resultCode, 51 Cr.NS_ERROR_DOM_QM_CLIENT_INIT_ORIGIN_UNINITIALIZED, 52 "Threw right result code" 53 ); 54 } 55 56 ok(!clientMetadata.file.exists(), "Client directory does not exist"); 57 58 info("Initializing temporary origin"); 59 60 request = initTemporaryOrigin( 61 clientMetadata.persistence, 62 clientMetadata.principal 63 ); 64 await requestFinished(request); 65 66 ok(!clientMetadata.file.exists(), "Client directory does not exist"); 67 68 info("Initializing temporary client"); 69 70 request = initTemporaryClient( 71 clientMetadata.persistence, 72 clientMetadata.principal, 73 clientMetadata.client, 74 /* createIfNonExistent */ true 75 ); 76 await requestFinished(request); 77 78 ok(clientMetadata.file.exists(), "Client directory does exist"); 79 }