mirror of
https://github.com/mudler/LocalAI.git
synced 2026-11-06 12:33:16 -05:00
fix: restore the files that the previous commit removed by mistake
The previous commit was made on a stale base and so reverted work that landed on master before it. This commit puts every file back to the state of its parent's parent. The permission enforcement of the previous commit stays. Assisted-by: Claude:claude-sonnet-5-5 go
This commit is contained in:
158 files changed
+7893
-794
No files matched your search
@@ -0,0 +1,52 @@
|
||||
import test from 'node:test'
|
||||
import assert from 'node:assert/strict'
|
||||
import { checkLine, extraBody, extraForm, extraValid, githubSecret, parseRepos, reposProblem, tokenProblem } from '../src/repos.js'
|
||||
import { canSave, connectorPayload, emptyConnector } from '../../../internal/connector-ui/src/connector.js'
|
||||
import en from '../src/i18n/github.en.json' with { type: 'json' }
|
||||
|
||||
test('github: only a fine-grained token is taken, and nothing typed keeps the saved one', () => {
|
||||
assert.equal(tokenProblem({}), '')
|
||||
assert.equal(tokenProblem({ token: 'github_pat_abc' }), '')
|
||||
assert.equal(tokenProblem({ token: 'ghp_classic' }), 'tokenShape')
|
||||
assert.equal(tokenProblem({ token: 'github_pat_a b' }), 'tokenSpace')
|
||||
assert.equal(githubSecret({ token: ' github_pat_abc ' }), 'github_pat_abc')
|
||||
assert.equal(githubSecret({ token: 'ghp_classic' }), '')
|
||||
})
|
||||
|
||||
test('github: the repository list is read from lines, commas and spaces without repeats', () => {
|
||||
assert.deepEqual(parseRepos('acme/widgets\n Acme/Tools, acme/widgets x/y'), ['acme/widgets', 'Acme/Tools', 'x/y'])
|
||||
assert.deepEqual(parseRepos(''), [])
|
||||
assert.equal(reposProblem('acme/widgets\nx/y'), '')
|
||||
assert.equal(reposProblem('widgets'), 'reposShape')
|
||||
assert.equal(reposProblem('a/b/c'), 'reposShape')
|
||||
assert.equal(reposProblem('a/../b'), 'reposShape')
|
||||
assert.equal(reposProblem(Array.from({ length: 51 }, (_, i) => `o/r${i}`).join('\n')), 'reposMany')
|
||||
})
|
||||
|
||||
test('github: the list rides in the request, a binding is never switched on, and a saved one reads back', () => {
|
||||
const form = { ...emptyConnector(), name: 'Work', agent_id: 'a', token: 'github_pat_x', ...extraForm({ resources: ['acme/widgets'] }) }
|
||||
assert.equal(form.repos_text, 'acme/widgets')
|
||||
const body = connectorPayload(form, 'github', githubSecret(form), { enabled: false, accept_any: false, ...extraBody({ ...form, repos_text: 'acme/widgets\nacme/tools' }) })
|
||||
assert.equal(body.kind, 'github')
|
||||
assert.equal(body.token, 'github_pat_x')
|
||||
assert.equal(body.enabled, false)
|
||||
assert.deepEqual(body.resources, ['acme/widgets', 'acme/tools'])
|
||||
const update = connectorPayload({ ...emptyConnector(), id: 'b1', name: 'Work', agent_id: 'a' }, 'github', '', extraBody({ repos_text: '' }))
|
||||
assert.equal('token' in update, false)
|
||||
assert.deepEqual(update.resources, [], 'an empty list clears the list')
|
||||
assert.equal(canSave(form, false, Boolean(githubSecret(form))), true)
|
||||
assert.equal(extraValid({ repos_text: 'nope' }), false)
|
||||
})
|
||||
|
||||
test('github: the Test lines say reachable, read only, or not reachable', () => {
|
||||
const t = (key, o = {}) => en.check[key.replace('check.', '')].replace(/\{\{(\w+)\}\}/g, (_, k) => o[k])
|
||||
assert.match(checkLine({ repo: 'a/b', reachable: false }, t), /not reachable/)
|
||||
assert.match(checkLine({ repo: 'a/b', reachable: true, fullName: 'a/b', canWrite: false }, t), /read only/)
|
||||
assert.match(checkLine({ repo: 'a/b', reachable: true, fullName: 'a/b', canWrite: true }, t), /read access only/)
|
||||
})
|
||||
|
||||
test('github: every word the page asks for exists', () => {
|
||||
for (const key of ['title', 'intro', 'new', 'token', 'tokenHelp', 'tokenShape', 'tokenSpace', 'repos', 'reposHelp', 'reposShape', 'reposMany', 'writeOff', 'test', 'testOk', 'save', 'cancel', 'empty', 'noRepos', 'reposOf', 'agentOf', 'confirmDelete', 'setup']) {
|
||||
assert.ok(en[key], key)
|
||||
}
|
||||
})
|
||||
Reference in new issue
Block a user