+ }
+
+ xit('build app', function () { execSync('cloudron build', EXEC_ARGS); });
+
+ it('install app', function () { execSync(`cloudron install --location ${LOCATION}`, EXEC_ARGS); });
+
+ it('can get app information', getAppInfo);
+
+ it('can login', login);
+ it('can cli login', cliLogin);
+ it('can upload file', uploadFile.bind(null, TEST_FILE_NAME_0));
+ it('file is listed', checkFileIsListed.bind(null, TEST_FILE_NAME_0));
+ it('file is served up', checkFileIsPresent);
+ it('file is served up', checkIndexFileIsServedUp);
+ it('can upload second file', uploadFile.bind(null, TEST_FILE_NAME_1));
+ it('file is listed', checkFileIsListed.bind(null, TEST_FILE_NAME_1));
+ it('can delete second file with cli', function () {
+ execSync(path.join(__dirname, '/../cli/surfer.js') + ' del ' + TEST_FILE_NAME_1, { stdio: 'inherit' } );
+ });
+ it('second file is gone', checkFileIsGone.bind(null, TEST_FILE_NAME_1));
+ it('can logout', logout);
+
+ it('backup app', function () { execSync(`cloudron backup create --app ${app.id}`, EXEC_ARGS); });
+ it('restore app', function () { execSync(`cloudron restore --app ${app.id}`, EXEC_ARGS); });
+
+ it('can login', login);
+ it('file is listed', checkFileIsListed.bind(null, TEST_FILE_NAME_0));
+ it('file is served up', checkFileIsPresent);
+ it('file is served up', checkIndexFileIsServedUp);
+ it('second file is still gone', checkFileIsGone.bind(null, TEST_FILE_NAME_1));
+ it('can logout', logout);
+
+ it('move to different location', function (done) {
+ browser.manage().deleteAllCookies();
+
+ // ensure we don't hit NXDOMAIN in the mean time
+ browser.get('about:blank').then(function () {
+ execSync(`cloudron configure --location ${LOCATION}2 --app ${app.id}`, EXEC_ARGS);
+
+ getAppInfo();
+
+ done();
+ });