mirror of
https://git.cloudron.io/cloudron/syncthing-app
synced 2025-09-13 08:19:09 +00:00
Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
6d6ed058f7 | ||
|
df6b2725ad | ||
|
81277451dc | ||
|
e9a80dddda | ||
|
ba33f68bc8 | ||
|
aa4cdb2de9 |
15
CHANGELOG
15
CHANGELOG
@@ -444,3 +444,18 @@
|
||||
* #9274: Missing lock in DeviceStatistics ("fatal error: concurrent map read and map write")
|
||||
* #7406: Add UPnP support for IPv6
|
||||
|
||||
[1.26.2]
|
||||
* Update Syncthing to 1.27.3
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.27.3)
|
||||
* #9039: Sync from Linux to Mac with ownership - Local additions after rescan
|
||||
* #9241: Versions path does not honor tilde (~) shortcut
|
||||
* #8616: Add CLI completion
|
||||
* #9151: Add "stay logged in" checkbox to login dialog
|
||||
|
||||
[1.26.3]
|
||||
* Update Syncthing to 1.27.4
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.27.4)
|
||||
* #9369: Panic in ignore matching on invalid UTF-8 from filesystem watcher
|
||||
* #9435: syncthing should be cgroup aware
|
||||
* #9339: File system watcher should skip ignored directories in more cases
|
||||
|
||||
|
@@ -5,8 +5,8 @@
|
||||
"description": "file://DESCRIPTION.md",
|
||||
"changelog": "file://CHANGELOG",
|
||||
"tagline": "Decentralized file synchronization",
|
||||
"version": "1.26.1",
|
||||
"upstreamVersion": "1.27.2",
|
||||
"version": "1.26.3",
|
||||
"upstreamVersion": "1.27.4",
|
||||
"healthCheckPath": "/healthcheck",
|
||||
"httpPort": 8000,
|
||||
"addons": {
|
||||
|
@@ -3,7 +3,7 @@ FROM cloudron/base:4.2.0@sha256:46da2fffb36353ef714f97ae8e962bd2c212ca091108d768
|
||||
RUN mkdir -p /app/code
|
||||
WORKDIR /app/code
|
||||
|
||||
ARG VERSION=1.27.2
|
||||
ARG VERSION=1.27.4
|
||||
|
||||
RUN wget https://github.com/syncthing/syncthing/releases/download/v${VERSION}/syncthing-linux-amd64-v${VERSION}.tar.gz -O - | tar -xz -C /app/code --strip-components=1
|
||||
|
||||
|
670
test/package-lock.json
generated
670
test/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -9,10 +9,10 @@
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"chromedriver": "^120.0.1",
|
||||
"chromedriver": "^122.0.4",
|
||||
"expect.js": "^0.3.1",
|
||||
"mocha": "^10.2.0",
|
||||
"selenium-webdriver": "^4.16.0",
|
||||
"mocha": "^10.3.0",
|
||||
"selenium-webdriver": "^4.18.1",
|
||||
"superagent": "^8.1.2"
|
||||
}
|
||||
}
|
||||
|
23
test/test.js
23
test/test.js
@@ -67,6 +67,17 @@ describe('Application life cycle test', function () {
|
||||
await waitForElement(By.xpath('//span[text()="Actions"]'));
|
||||
}
|
||||
|
||||
async function logout() {
|
||||
await browser.get('https://' + app.fqdn);
|
||||
await waitForElement(By.xpath('//span[text()="Actions"]'));
|
||||
await browser.findElement(By.xpath('//span[text()="Actions"]')).click();
|
||||
await browser.sleep(4000);
|
||||
await waitForElement(By.xpath('//span[text()="Log Out"]'));
|
||||
await browser.findElement(By.xpath('//span[text()="Log Out"]')).click();
|
||||
await browser.sleep(4000);
|
||||
await waitForElement(By.id('user'));
|
||||
}
|
||||
|
||||
async function loadPage() {
|
||||
await browser.get('https://' + app.fqdn);
|
||||
await waitForElement(By.xpath('//span[text()="Actions"]'));
|
||||
@@ -76,12 +87,13 @@ describe('Application life cycle test', function () {
|
||||
await browser.get('https://' + app.fqdn);
|
||||
await browser.findElement(By.css('[ng-click*=addFolder]')).click();
|
||||
await waitForElement(By.id('folderPath'));
|
||||
await browser.sleep(4000); // wait more, not sure why this is needed
|
||||
await browser.sleep(8000); // wait more, not sure why this is needed
|
||||
await browser.findElement(By.id('folderLabel')).sendKeys(FOLDER);
|
||||
await browser.sleep(4000); // without this sometimes only part of the folder name gets through
|
||||
await browser.sleep(8000); // without this sometimes only part of the folder name gets through
|
||||
await browser.findElement(By.css('[ng-click*=saveFolder]')).click();
|
||||
await browser.sleep(8000); // without this "stale element"
|
||||
await waitForElement(By.xpath(`//span[contains(text(), '${FOLDER}')]`));
|
||||
await browser.sleep(4000);
|
||||
await browser.sleep(8000);
|
||||
}
|
||||
|
||||
async function checkFolder() {
|
||||
@@ -114,6 +126,7 @@ describe('Application life cycle test', function () {
|
||||
it('can login', login.bind(null, username, password));
|
||||
it('can load page', loadPage);
|
||||
it('can add folder', addFolder);
|
||||
it('can logout', logout);
|
||||
|
||||
it('backup app', async function () { execSync('cloudron backup create --app ' + app.id, EXEC_ARGS); });
|
||||
it('restore app', async function () {
|
||||
@@ -125,6 +138,7 @@ describe('Application life cycle test', function () {
|
||||
it('can login', login.bind(null, username, password));
|
||||
it('can load page', loadPage);
|
||||
it('can check folder', checkFolder);
|
||||
it('can logout', logout);
|
||||
|
||||
it('move to different location', async function () {
|
||||
await browser.get('about:blank');
|
||||
@@ -136,6 +150,7 @@ describe('Application life cycle test', function () {
|
||||
it('can login', login.bind(null, username, password));
|
||||
it('can load page', loadPage);
|
||||
it('can check folder', checkFolder);
|
||||
it('can logout', logout);
|
||||
|
||||
it('uninstall app', async function () {
|
||||
await browser.get('about:blank');
|
||||
@@ -151,6 +166,8 @@ describe('Application life cycle test', function () {
|
||||
it('can login', login.bind(null, username, password));
|
||||
it('can load page', loadPage);
|
||||
it('can add folder', addFolder);
|
||||
it('can logout', logout);
|
||||
|
||||
it('can update', async function () {
|
||||
await browser.get('about:blank');
|
||||
execSync('cloudron update --app ' + LOCATION, EXEC_ARGS);
|
||||
|
Reference in New Issue
Block a user