1
0
mirror of https://git.cloudron.io/cloudron/syncthing-app synced 2025-09-13 00:15:14 +00:00

Compare commits

...

4 Commits

Author SHA1 Message Date
Dennis Schwerdel
37558f3b10 Updated postinstall message 2017-06-07 13:26:54 +02:00
Dennis Schwerdel
0e8b61d7d4 Only usernames work, not emails 2017-06-07 13:24:43 +02:00
Dennis Schwerdel
37b6969e24 Fixed wrong URL 2017-06-06 10:22:12 +02:00
Dennis Schwerdel
13de61d86e Fixed tests 2017-05-23 21:45:05 +02:00
4 changed files with 33 additions and 38 deletions

View File

@@ -3,3 +3,9 @@
[0.1.1]
* Huge speedup by caching ldap
[0.1.2]
* Fixed wrong URL
[0.1.3]
* Updated postinstall message

View File

@@ -5,7 +5,7 @@
"description": "file://DESCRIPTION.md",
"changelog": "file://CHANGELOG",
"tagline": "Decentralized file synchronization",
"version": "0.1.1",
"version": "0.1.3",
"healthCheckPath": "/check",
"httpPort": 8000,
"addons": {
@@ -21,7 +21,7 @@
}
},
"manifestVersion": 1,
"website": "http://www.synthing.net",
"website": "http://syncthing.net",
"contactEmail": "support@cloudron.io",
"icon": "logo.png",
"tags": [

View File

@@ -1,5 +1,6 @@
This application integrates with Cloudron authentication.
However, all Cloudron users share the same Syncthing session.
Please note that only the username is accepted as login and not the email address.
Syncthing contains an internal user `admin` that is needed by Cloudron but not exposed.
Please do not change the password of that account.

View File

@@ -51,61 +51,49 @@ describe('Application life cycle test', function () {
var SYNC_PORT = 22001;
var app;
function pageLoaded(callback) {
browser.wait(until.titleMatches(/[0-9a-f]{12} \| Syncthing/), TEST_TIMEOUT).then(callback);
function pageLoaded() {
return browser.wait(until.titleMatches(/[0-9a-f]{12} \| Syncthing/), TEST_TIMEOUT);
}
function visible(selector, callback) {
function visible(selector) {
return browser.wait(until.elementLocated(selector), TEST_TIMEOUT).then(function () {
browser.wait(until.elementIsVisible(browser.findElement(selector)), TEST_TIMEOUT).then(function () {
callback();
});
return browser.wait(until.elementIsVisible(browser.findElement(selector)), TEST_TIMEOUT);
});
}
function loadPageWait(callback) {
browser.manage().deleteAllCookies();
setTimeout(function() {
browser.get('https://' + username + ':' + password + '@' + app.fqdn);
pageLoaded(function() {
callback();
});
}, 60000); //Timeout since, reconfigure lacks health-check
}
function loadPage(callback) {
browser.manage().deleteAllCookies();
browser.get('https://' + username + ':' + password + '@' + app.fqdn);
pageLoaded(function() {
return pageLoaded().then(function() {
callback();
});
}
function addFolder(callback) {
pageLoaded(function() {
return pageLoaded().then(function() {
browser.findElement(by.css('[ng-click*=addFolder]')).click();
visible(by.id('folderPath'), function() {
browser.findElement(by.id('folderLabel')).sendKeys('test').then(function() {
browser.findElement(by.id('folderPath')).sendKeys('/app/data/test').then(function() {
//Clear and re-enter the folder to avoid race with auto-completion
browser.findElement(by.id('folderPath')).clear().then(function() {
browser.findElement(by.id('folderPath')).sendKeys('/app/data/test').then(function() {
browser.findElement(by.css('[ng-click*=saveFolder]')).click().then(function() {
browser.wait(until.elementLocated(by.css('#folders .panel-status span[ng-switch-when=unshared]')), TEST_TIMEOUT).then(function() {
callback();
});
});
});
});
});
});
return visible(by.id('folderPath')).then(function() {
return browser.findElement(by.id('folderLabel')).sendKeys('test');
}).then(function() {
return browser.findElement(by.id('folderPath')).sendKeys('/app/data/test');
}).then(function() {
//Clear and re-enter the folder to avoid race with auto-completion
return browser.findElement(by.id('folderPath')).clear();
}).then(function() {
return browser.findElement(by.id('folderPath')).sendKeys('/app/data/test');
}).then(function() {
return browser.findElement(by.css('[ng-click*=saveFolder]')).click();
}).then(function() {
return browser.wait(until.elementLocated(by.css('#folders .panel-status span[ng-switch-when=unshared]')), TEST_TIMEOUT);
}).then(function() {
callback();
});
});
}
function removeFolder(callback) {
browser.get('https://' + username + ':' + password + '@' + app.fqdn);
pageLoaded(function() {
return pageLoaded().then(function() {
browser.findElement(by.css('#folders button')).click();
setTimeout(function() {
browser.findElement(by.css('#folder-0 button[ng-click*=editFolder]')).click();
@@ -152,13 +140,13 @@ describe('Application life cycle test', function () {
it('move to different location', function () {
browser.manage().deleteAllCookies();
execSync('cloudron configure --location ' + LOCATION + '2', { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
execSync('cloudron configure --wait --location ' + LOCATION + '2', { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' });
var inspect = JSON.parse(execSync('cloudron inspect'));
app = inspect.apps.filter(function (a) { return a.location === LOCATION + '2'; })[0];
expect(app).to.be.an('object');
});
it('can load page', loadPageWait);
it('can load page', loadPage);
it('can add folder', addFolder);
it('can remove folder', removeFolder);