mirror of
https://git.cloudron.io/cloudron/syncthing-app
synced 2025-09-13 16:29:09 +00:00
Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
eeabcd9b30 | ||
|
f56054506e | ||
|
de4b8ff977 | ||
|
8c74b83013 | ||
|
1f2ad16358 | ||
|
62b4fe40c1 | ||
|
c3533569c1 | ||
|
06a75583e8 | ||
|
b413b5d43a | ||
|
5377c0180c | ||
|
f3a6e7b69e | ||
|
7620eec7b6 |
16
CHANGELOG
16
CHANGELOG
@@ -24,3 +24,19 @@
|
|||||||
|
|
||||||
[0.2.3]
|
[0.2.3]
|
||||||
* Updated to version 0.14.30
|
* Updated to version 0.14.30
|
||||||
|
|
||||||
|
[0.2.4]
|
||||||
|
* Updated to version 0.14.31
|
||||||
|
|
||||||
|
[0.2.5]
|
||||||
|
* Updated to version 0.14.32
|
||||||
|
|
||||||
|
[0.3.0]
|
||||||
|
* Updated to version 0.14.33
|
||||||
|
|
||||||
|
[0.3.1]
|
||||||
|
* Updated to version 0.14.35
|
||||||
|
|
||||||
|
[0.3.2]
|
||||||
|
* Updated to version 0.14.36
|
||||||
|
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
"description": "file://DESCRIPTION.md",
|
"description": "file://DESCRIPTION.md",
|
||||||
"changelog": "file://CHANGELOG",
|
"changelog": "file://CHANGELOG",
|
||||||
"tagline": "Decentralized file synchronization",
|
"tagline": "Decentralized file synchronization",
|
||||||
"version": "0.2.3",
|
"version": "0.3.2",
|
||||||
"healthCheckPath": "/check",
|
"healthCheckPath": "/check",
|
||||||
"httpPort": 8000,
|
"httpPort": 8000,
|
||||||
"addons": {
|
"addons": {
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
This app packages Syncthing <upstream>v0.14.30</upstream>.
|
This app packages Syncthing <upstream>v0.14.36</upstream>.
|
||||||
|
|
||||||
Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.
|
Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.
|
||||||
|
|
||||||
|
@@ -28,7 +28,7 @@ RUN ./configure \
|
|||||||
--build=cloudron-river
|
--build=cloudron-river
|
||||||
RUN make install
|
RUN make install
|
||||||
|
|
||||||
ENV VERSION 0.14.30
|
ENV VERSION 0.14.36
|
||||||
|
|
||||||
RUN mkdir -p /app/code \
|
RUN mkdir -p /app/code \
|
||||||
&& wget https://github.com/syncthing/syncthing/releases/download/v${VERSION}/syncthing-linux-amd64-v${VERSION}.tar.gz -O - \
|
&& wget https://github.com/syncthing/syncthing/releases/download/v${VERSION}/syncthing-linux-amd64-v${VERSION}.tar.gz -O - \
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
"mocha": "^2.5.3",
|
"mocha": "^2.5.3",
|
||||||
"rimraf": "^2.5.3",
|
"rimraf": "^2.5.3",
|
||||||
"selenium-server-standalone-jar": "^2.53.1",
|
"selenium-server-standalone-jar": "^2.53.1",
|
||||||
"selenium-webdriver": "^2.53.3",
|
"selenium-webdriver": "^2.53.1",
|
||||||
"superagent": "^1.4.0",
|
"superagent": "^1.4.0",
|
||||||
"chromedriver": "^2.27.0"
|
"chromedriver": "^2.31.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
70
test/test.js
70
test/test.js
@@ -62,47 +62,59 @@ describe('Application life cycle test', function () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function loadPage(callback) {
|
function loadPage(callback) {
|
||||||
browser.manage().deleteAllCookies();
|
browser.manage().deleteAllCookies().then(function () {
|
||||||
browser.get('https://' + username + ':' + password + '@' + app.fqdn);
|
return browser.get('https://' + username + ':' + encodeURIComponent(password) + '@' + app.fqdn).then(function () {
|
||||||
pageLoaded().then(function() {
|
return browser.get('https://' + app.fqdn);
|
||||||
|
});
|
||||||
|
}).then(function () {
|
||||||
|
return pageLoaded();
|
||||||
|
}).then(function () {
|
||||||
callback();
|
callback();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function addFolder(callback) {
|
function addFolder(callback) {
|
||||||
pageLoaded().then(function() {
|
pageLoaded().then(function() {
|
||||||
browser.findElement(by.css('[ng-click*=addFolder]')).click();
|
return browser.findElement(by.css('[ng-click*=addFolder]')).click();
|
||||||
return visible(by.id('folderPath')).then(function() {
|
}).then(function () {
|
||||||
return browser.findElement(by.id('folderLabel')).sendKeys('test');
|
return visible(by.id('folderPath'));
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
|
return browser.findElement(by.id('folderLabel')).sendKeys('test');
|
||||||
|
}).then(function () {
|
||||||
return browser.findElement(by.id('folderPath')).sendKeys('/app/data/test');
|
return browser.findElement(by.id('folderPath')).sendKeys('/app/data/test');
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
//Clear and re-enter the folder to avoid race with auto-completion
|
//Clear and re-enter the folder to avoid race with auto-completion
|
||||||
return browser.findElement(by.id('folderPath')).clear();
|
return browser.findElement(by.id('folderPath')).clear();
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
return browser.findElement(by.id('folderPath')).sendKeys('/app/data/test');
|
return browser.findElement(by.id('folderPath')).sendKeys('/app/data/test');
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
return browser.findElement(by.css('[ng-click*=saveFolder]')).click();
|
return browser.findElement(by.css('[ng-click*=saveFolder]')).click();
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
return browser.wait(until.elementLocated(by.css('#folders .panel-status span[ng-switch-when=unshared]')), TEST_TIMEOUT);
|
return browser.wait(until.elementLocated(by.css('#folders .panel-status span[ng-switch-when=unshared]')), TEST_TIMEOUT);
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
callback();
|
callback();
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeFolder(callback) {
|
function removeFolder(callback) {
|
||||||
browser.get('https://' + username + ':' + password + '@' + app.fqdn);
|
browser.get('https://' + username + ':' + encodeURIComponent(password) + '@' + app.fqdn).then(function () {
|
||||||
pageLoaded().then(function() {
|
return browser.get('https://' + app.fqdn);
|
||||||
browser.findElement(by.css('#folders button')).click();
|
}).then(function () {
|
||||||
setTimeout(function() {
|
return pageLoaded();
|
||||||
browser.findElement(by.css('#folder-0 button[ng-click*=editFolder]')).click();
|
}).then(function() {
|
||||||
setTimeout(function() {
|
return browser.findElement(by.css('#folders button')).click();
|
||||||
browser.findElement(by.css('[ng-click*=deleteFolder]')).click().then(function() {
|
}).then(function () {
|
||||||
setTimeout(callback, 1000); //This needs to run for some time
|
return browser.sleep(1000); //No way to check for visibility of angular-js components
|
||||||
});
|
}).then(function () {
|
||||||
}, 1000); //No way to check for visibility of angular-js components
|
return browser.findElement(by.css('#folder-0 button[ng-click*=editFolder]')).click();
|
||||||
}, 1000); //No way to check for visibility of angular-js components
|
}).then(function () {
|
||||||
|
return browser.sleep(1000); //No way to check for visibility of angular-js components
|
||||||
|
}).then(function () {
|
||||||
|
return browser.findElement(by.css('[ng-click*=deleteFolder]')).click();
|
||||||
|
}).then(function () {
|
||||||
|
return browser.sleep(1000); //This needs to run for some time
|
||||||
|
}).then(function () {
|
||||||
|
callback();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user