-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactors filesAdapter tests in factories
- Loading branch information
1 parent
0b990b6
commit 9287afc
Showing
3 changed files
with
142 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,33 @@ | ||
var FilesController = require('../src/Controllers/FilesController').FilesController; | ||
var GridStoreAdapter = require("../src/Adapters/Files/GridStoreAdapter").GridStoreAdapter; | ||
var S3Adapter = require("../src/Adapters/Files/S3Adapter").S3Adapter; | ||
var Config = require("../src/Config"); | ||
|
||
var FCTestFactory = require("./FilesControllerTestFactory"); | ||
|
||
|
||
// Small additional tests to improve overall coverage | ||
describe("FilesController",()=>{ | ||
|
||
it("should properly expand objects", (done) => { | ||
var config = new Config(Parse.applicationId); | ||
var adapter = new GridStoreAdapter(); | ||
var filesController = new FilesController(adapter); | ||
var result = filesController.expandFilesInObject(config, function(){}); | ||
// Test the grid store adapter | ||
var gridStoreAdapter = new GridStoreAdapter(); | ||
FCTestFactory.testAdapter("GridStoreAdapter", gridStoreAdapter); | ||
|
||
if (process.env.S3_ACCESS_KEY && process.env.S3_SECRET_KEY) { | ||
|
||
// Test the S3 Adapter | ||
var s3Adapter = new S3Adapter(process.env.S3_ACCESS_KEY, process.env.S3_SECRET_KEY, 'parse.server.tests'); | ||
|
||
expect(result).toBeUndefined(); | ||
FCTestFactory.testAdapter("S3Adapter",s3Adapter); | ||
|
||
var fullFile = { | ||
type: '__type', | ||
url: "http://an.url" | ||
} | ||
// Test S3 with direct access | ||
var s3DirectAccessAdapter = new S3Adapter(process.env.S3_ACCESS_KEY, process.env.S3_SECRET_KEY, 'parse.server.tests', { | ||
directAccess: true | ||
}); | ||
|
||
var anObject = { | ||
aFile: fullFile | ||
} | ||
filesController.expandFilesInObject(config, anObject); | ||
expect(anObject.aFile.url).toEqual("http://an.url"); | ||
FCTestFactory.testAdapter("S3AdapterDirect", s3DirectAccessAdapter); | ||
|
||
done(); | ||
}) | ||
}) | ||
} else if (!process.env.TRAVIS) { | ||
console.log("set S3_ACCESS_KEY and S3_SECRET_KEY to test S3Adapter") | ||
} | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
|
||
var FilesController = require('../src/Controllers/FilesController').FilesController; | ||
var Config = require("../src/Config"); | ||
|
||
var testAdapter = function(name, adapter) { | ||
// Small additional tests to improve overall coverage | ||
|
||
var config = new Config(Parse.applicationId); | ||
var filesController = new FilesController(adapter); | ||
|
||
describe("FilesController with "+name,()=>{ | ||
|
||
it("should properly expand objects", (done) => { | ||
|
||
var result = filesController.expandFilesInObject(config, function(){}); | ||
|
||
expect(result).toBeUndefined(); | ||
|
||
var fullFile = { | ||
type: '__type', | ||
url: "http://an.url" | ||
} | ||
|
||
var anObject = { | ||
aFile: fullFile | ||
} | ||
filesController.expandFilesInObject(config, anObject); | ||
expect(anObject.aFile.url).toEqual("http://an.url"); | ||
|
||
done(); | ||
}) | ||
|
||
it("should properly create, read, delete files", (done) => { | ||
var filename; | ||
filesController.createFile(config, "file.txt", "hello world").then( (result) => { | ||
ok(result.url); | ||
ok(result.name); | ||
filename = result.name; | ||
expect(result.name.match(/file.txt/)).not.toBe(null); | ||
return filesController.getFileData(config, filename); | ||
}, (err) => { | ||
fail("The adapter should create the file"); | ||
console.error(err); | ||
done(); | ||
}).then((result) => { | ||
expect(result instanceof Buffer).toBe(true); | ||
expect(result.toString('utf-8')).toEqual("hello world"); | ||
return filesController.deleteFile(config, filename); | ||
}, (err) => { | ||
fail("The adapter should get the file"); | ||
console.error(err); | ||
done(); | ||
}).then((result) => { | ||
|
||
filesController.getFileData(config, filename).then((res) => { | ||
fail("the file should be deleted"); | ||
done(); | ||
}, (err) => { | ||
done(); | ||
}); | ||
|
||
}, (err) => { | ||
fail("The adapter should delete the file"); | ||
console.error(err); | ||
done(); | ||
}); | ||
}, 5000); // longer tests | ||
}); | ||
} | ||
|
||
module.exports = { | ||
testAdapter: testAdapter | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters