mirror of
https://git.cloudron.io/cloudron/gitea-app
synced 2025-09-24 22:17:36 +00:00
Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
0e8051524b | ||
|
343c4f4487 | ||
|
fa8b746489 |
10
CHANGELOG.md
10
CHANGELOG.md
@@ -1674,3 +1674,13 @@
|
||||
* Add missing two sync feed for refs/pull ([#​32815](https://github.com/go-gitea/gitea/issues/32815))
|
||||
* Avoid MacOS keychain dialog in integration tests ([#​32813](https://github.com/go-gitea/gitea/issues/32813)) ([#​32816](https://github.com/go-gitea/gitea/issues/32816))
|
||||
|
||||
[1.34.0]
|
||||
* Update gitea to 1.23.0
|
||||
* [Full Changelog](https://github.com/go-gitea/gitea/releases/tag/v1.23.0)
|
||||
* Rename config option `[camo].Allways` to `[camo].Always` ([#​32097](https://github.com/go-gitea/gitea/issues/32097))
|
||||
* Remove SHA1 for support for SSH RSA signing ([#​31857](https://github.com/go-gitea/gitea/issues/31857))
|
||||
* Use UTC as the default timezone when scheduling Actions cron tasks ([#​31742](https://github.com/go-gitea/gitea/issues/31742))
|
||||
* Delete Actions logs older than 1 year by default ([#​31735](https://github.com/go-gitea/gitea/issues/31735))
|
||||
* Make OIDC introspection authentication strictly require Client ID and secret ([#​31632](https://github.com/go-gitea/gitea/issues/31632))
|
||||
* Include file extension checks in attachment API ([#​32151](https://github.com/go-gitea/gitea/issues/32151))
|
||||
|
||||
|
@@ -4,8 +4,8 @@
|
||||
"author": "Gitea developers",
|
||||
"description": "file://DESCRIPTION.md",
|
||||
"tagline": "A painless self-hosted Git Service",
|
||||
"version": "1.33.6",
|
||||
"upstreamVersion": "1.22.6",
|
||||
"version": "1.34.0",
|
||||
"upstreamVersion": "1.23.0",
|
||||
"healthCheckPath": "/explore",
|
||||
"httpPort": 3000,
|
||||
"memoryLimit": 536870912,
|
||||
|
@@ -20,7 +20,7 @@ WORKDIR /home/git
|
||||
ENV GNUPGHOME="/app/data/gnupg"
|
||||
|
||||
# renovate: datasource=github-releases depName=go-gitea/gitea versioning=semver extractVersion=^v(?<version>.+)$
|
||||
ARG GITEA_VERSION=1.22.6
|
||||
ARG GITEA_VERSION=1.23.0
|
||||
|
||||
RUN curl -L https://dl.gitea.io/gitea/${GITEA_VERSION}/gitea-${GITEA_VERSION}-linux-amd64 -o /home/git/gitea/gitea \
|
||||
&& chmod +x /home/git/gitea/gitea
|
||||
|
14
test/package-lock.json
generated
14
test/package-lock.json
generated
@@ -9,7 +9,7 @@
|
||||
"version": "1.0.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"chromedriver": "^131.0.3",
|
||||
"chromedriver": "^131.0.5",
|
||||
"expect.js": "^0.3.1",
|
||||
"mocha": "^11.0.1",
|
||||
"selenium-webdriver": "^4.27.0",
|
||||
@@ -380,9 +380,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/chromedriver": {
|
||||
"version": "131.0.3",
|
||||
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-131.0.3.tgz",
|
||||
"integrity": "sha512-DKHFt0ilcA/RJzY1ApBiJAil6fh08f9mXM8XbdDE1u+S1V5YVUNTUi4bOtJFZoAwS9nlV0H5W6InWrpXqSs2xg==",
|
||||
"version": "131.0.5",
|
||||
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-131.0.5.tgz",
|
||||
"integrity": "sha512-OQY4BHUe9JedxH4aAsPZJcf8Y0lMlE7y+3tiCvQSCQ6qDz2b99R0qsqyqzUUSW2DFx0bg4YxmK8CDVMKb9u5kg==",
|
||||
"hasInstallScript": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
@@ -2374,9 +2374,9 @@
|
||||
}
|
||||
},
|
||||
"chromedriver": {
|
||||
"version": "131.0.3",
|
||||
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-131.0.3.tgz",
|
||||
"integrity": "sha512-DKHFt0ilcA/RJzY1ApBiJAil6fh08f9mXM8XbdDE1u+S1V5YVUNTUi4bOtJFZoAwS9nlV0H5W6InWrpXqSs2xg==",
|
||||
"version": "131.0.5",
|
||||
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-131.0.5.tgz",
|
||||
"integrity": "sha512-OQY4BHUe9JedxH4aAsPZJcf8Y0lMlE7y+3tiCvQSCQ6qDz2b99R0qsqyqzUUSW2DFx0bg4YxmK8CDVMKb9u5kg==",
|
||||
"requires": {
|
||||
"@testim/chrome-version": "^1.1.4",
|
||||
"axios": "^1.7.4",
|
||||
|
@@ -9,7 +9,7 @@
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"chromedriver": "^131.0.3",
|
||||
"chromedriver": "^131.0.5",
|
||||
"expect.js": "^0.3.1",
|
||||
"mocha": "^11.0.1",
|
||||
"selenium-webdriver": "^4.27.0",
|
||||
|
37
test/test.js
37
test/test.js
@@ -29,7 +29,6 @@ describe('Application life cycle test', function () {
|
||||
const SSH_PORT = 29420;
|
||||
|
||||
let app, browser;
|
||||
let athenticated_by_oidc = false;
|
||||
|
||||
const repodir = '/tmp/testrepo';
|
||||
const reponame = 'testrepo';
|
||||
@@ -108,7 +107,7 @@ describe('Application life cycle test', function () {
|
||||
await login('root', 'changeme');
|
||||
}
|
||||
|
||||
async function loginOIDC(username, password) {
|
||||
async function loginOIDC(username, password, alreadyAuthenticated = true) {
|
||||
browser.manage().deleteAllCookies();
|
||||
await browser.get(`https://${app.fqdn}/user/login`);
|
||||
await browser.sleep(2000);
|
||||
@@ -117,15 +116,13 @@ describe('Application life cycle test', function () {
|
||||
await browser.findElement(By.xpath('//a[contains(@class, "openidConnect") and contains(., "Sign in with cloudron")]')).click();
|
||||
await browser.sleep(2000);
|
||||
|
||||
if (!athenticated_by_oidc) {
|
||||
await waitForElement(By.xpath('//input[@name="username"]'));
|
||||
await browser.findElement(By.xpath('//input[@name="username"]')).sendKeys(username);
|
||||
await browser.findElement(By.xpath('//input[@name="password"]')).sendKeys(password);
|
||||
if (!alreadyAuthenticated) {
|
||||
await waitForElement(By.id('inputUsername'));
|
||||
await browser.findElement(By.id('inputUsername')).sendKeys(username);
|
||||
await browser.findElement(By.id('inputPassword')).sendKeys(password);
|
||||
await browser.sleep(2000);
|
||||
await browser.findElement(By.id('loginSubmitButton')).click();
|
||||
await browser.sleep(2000);
|
||||
|
||||
athenticated_by_oidc = true;
|
||||
}
|
||||
|
||||
await waitForElement(By.xpath('//img[contains(@class, "avatar")]'));
|
||||
@@ -173,14 +170,6 @@ describe('Application life cycle test', function () {
|
||||
}, TIMEOUT);
|
||||
}
|
||||
|
||||
async function checkCloneUrl() {
|
||||
await browser.get('https://' + app.fqdn + '/' + username + '/' + reponame);
|
||||
await browser.findElement(By.id('repo-clone-ssh')).click();
|
||||
|
||||
var cloneUrl = await browser.findElement(By.id('repo-clone-url')).getAttribute('value');
|
||||
expect(cloneUrl).to.be(`ssh://git@${app.fqdn}:${SSH_PORT}/${username}/${reponame}.git`);
|
||||
}
|
||||
|
||||
function cloneRepo() {
|
||||
fs.rmSync(repodir, { recursive: true, force: true });
|
||||
var env = Object.create(process.env);
|
||||
@@ -201,13 +190,13 @@ describe('Application life cycle test', function () {
|
||||
}
|
||||
|
||||
async function sendMail() {
|
||||
await browser.get(`https://${app.fqdn}/admin/config`);
|
||||
|
||||
var button = await browser.findElement(By.xpath('//button[contains(text(), "Send")]'));
|
||||
await browser.get(`https://${app.fqdn}/-/admin/config`);
|
||||
await browser.sleep(3000);
|
||||
const button = await browser.findElement(By.xpath('//button[contains(., "Send")]'));
|
||||
await browser.executeScript('arguments[0].scrollIntoView(true)', button);
|
||||
await browser.findElement(By.xpath('//input[@name="email"]')).sendKeys('test@cloudron.io');
|
||||
await browser.findElement(By.xpath('//button[contains(text(), "Send")]')).click();
|
||||
await browser.wait(until.elementLocated(By.xpath('//p[contains(text(), "A testing email has been sent")]')), TIMEOUT);
|
||||
await browser.findElement(By.xpath('//button[contains(., "Send")]')).click();
|
||||
await browser.wait(until.elementLocated(By.xpath('//p[contains(., "A testing email has been sent")]')), TIMEOUT);
|
||||
}
|
||||
|
||||
xit('build app', function () { execSync('cloudron build', EXEC_ARGS); });
|
||||
@@ -219,7 +208,7 @@ describe('Application life cycle test', function () {
|
||||
it('can send mail', sendMail);
|
||||
it('can logout', logout);
|
||||
|
||||
it('can login', loginOIDC.bind(null, username, password));
|
||||
it('can login', loginOIDC.bind(null, username, password, false));
|
||||
it('can set avatar', setAvatar);
|
||||
it('can get avatar', checkAvatar);
|
||||
|
||||
@@ -227,8 +216,6 @@ describe('Application life cycle test', function () {
|
||||
|
||||
it('can create repo', createRepo);
|
||||
|
||||
it('displays correct clone url', checkCloneUrl);
|
||||
|
||||
it('can clone the url', cloneRepo);
|
||||
|
||||
it('can add and push a file', pushFile);
|
||||
@@ -236,7 +223,6 @@ describe('Application life cycle test', function () {
|
||||
it('can restart app', function () { execSync('cloudron restart --app ' + app.id); });
|
||||
|
||||
xit('can login', loginOIDC.bind(null, username, password)); // no need to relogin since session persists
|
||||
it('displays correct clone url', checkCloneUrl);
|
||||
it('can clone the url', cloneRepo);
|
||||
it('file exists in repo', fileExists);
|
||||
|
||||
@@ -259,7 +245,6 @@ describe('Application life cycle test', function () {
|
||||
|
||||
it('can login', loginOIDC.bind(null, username, password));
|
||||
it('can get avatar', checkAvatar);
|
||||
it('displays correct clone url', checkCloneUrl);
|
||||
it('can clone the url', cloneRepo);
|
||||
it('file exists in repo', function () { expect(fs.existsSync(repodir + '/newfile')).to.be(true); });
|
||||
|
||||
|
Reference in New Issue
Block a user