Update test framework: fix run_tests.py to support all test files, add auto-import-check for test files

This commit is contained in:
qiaoxinjiu
2026-05-09 15:11:30 +08:00
parent eb053a347f
commit eaba8328da
21739 changed files with 2236758 additions and 719 deletions

30
node_modules/digest-fetch/test/digest-fetch-basic.js generated vendored Normal file
View File

@@ -0,0 +1,30 @@
process.env.NO_DEPRECATION = 'digest-fetch';
var after = require('after')
var assert = require('assert')
var DigestFetch = require('../')
var factory = require('./test-server')
var chai = require('chai')
var expect = chai.expect
var chaiHttp = require('chai-http')
chai.use(chaiHttp)
chai.should()
var app = factory.getApp()
describe('digest-fetch', function(){
it('Test Basic Authentication', function() {
var client = new DigestFetch('test', 'test', { basic: true })
const auth = client.addBasicAuth().headers.Authorization
chai.request(app).get('/basic').set('Authorization', auth).then(res => {
expect(res).to.have.status(200)
})
})
it('Test Basic Authentication with wrong credential', function() {
var client = new DigestFetch('test', 'test-null', { basic: true })
const auth = client.addBasicAuth().headers.Authorization
chai.request(app).get('/basic').set('Authorization', auth).then(res => {
expect(res).to.have.status(401)
})
})
})

45
node_modules/digest-fetch/test/digest-fetch-rfc2069.js generated vendored Normal file
View File

@@ -0,0 +1,45 @@
process.env.NO_DEPRECATION = 'digest-fetch';
var after = require('after')
var assert = require('assert')
var DigestFetch = require('../')
var factory = require('./test-server')
var chai = require('chai')
var expect = chai.expect
var chaiHttp = require('chai-http')
chai.use(chaiHttp)
chai.should()
var app = factory.getApp()
describe('digest-fetch', function(){
it('Test RFC2069', function() {
var client = new DigestFetch('test', 'test')
chai.request(app).get('/auth').then(res => {
expect(res).to.have.status(401)
client.lastAuth = res.res.headers['www-authenticate']
})
.then(() => {
client.parseAuth(client.lastAuth)
const auth = client.addAuth('/auth', { method: 'GET' }).headers.Authorization
chai.request(app).get('/auth').set('Authorization', auth).then(res => {
expect(res).to.have.status(200)
})
})
})
it('Test RFC2069 with wrong credential', function() {
var client = new DigestFetch('test', 'test-null')
chai.request(app).get('/auth').then(res => {
res.should.have.status(401)
client.lastAuth = res.res.headers['www-authenticate']
})
.then(() => {
client.parseAuth(client.lastAuth)
const auth = client.addAuth('/auth', { method: 'GET' }).headers.Authorization
chai.request(app).get('/auth').set('Authorization', auth).then(res => {
expect(res).to.have.status(401)
})
})
})
})

60
node_modules/digest-fetch/test/digest-fetch-rfc2617.js generated vendored Normal file
View File

@@ -0,0 +1,60 @@
process.env.NO_DEPRECATION = 'digest-fetch';
var after = require('after')
var assert = require('assert')
var DigestFetch = require('../')
var factory = require('./test-server')
var chai = require('chai')
var expect = chai.expect
var chaiHttp = require('chai-http')
chai.use(chaiHttp)
chai.should()
var app = factory.getApp('auth')
describe('digest-fetch', function(){
it('Test RFC2617', function() {
var client = new DigestFetch('test', 'test')
chai.request(app).get('/auth').then(res => {
expect(res).to.have.status(401)
client.lastAuth = res.res.headers['www-authenticate']
})
.then(() => {
client.parseAuth(client.lastAuth)
const auth = client.addAuth('/auth', { method: 'GET' }).headers.Authorization
chai.request(app).get('/auth').set('Authorization', auth).then(res => {
expect(res).to.have.status(200)
})
})
})
it('Test RFC2617 with precomputed hash', function() {
var client = new DigestFetch('test', DigestFetch.computeHash('test', 'Users', 'test'), { precomputedHash: true })
chai.request(app).get('/auth').then(res => {
expect(res).to.have.status(401)
client.lastAuth = res.res.headers['www-authenticate']
})
.then(() => {
client.parseAuth(client.lastAuth)
const auth = client.addAuth('/auth', { method: 'GET' }).headers.Authorization
chai.request(app).get('/auth').set('Authorization', auth).then(res => {
expect(res).to.have.status(200)
})
})
})
it('Test RFC2617 with wrong credential', function() {
var client = new DigestFetch('test', 'test-null')
chai.request(app).get('/auth').then(res => {
expect(res).to.have.status(401)
client.lastAuth = res.res.headers['www-authenticate']
})
.then(() => {
client.parseAuth(client.lastAuth)
const auth = client.addAuth('/auth', { method: 'GET' }).headers.Authorization
chai.request(app).get('/auth').set('Authorization', auth).then(res => {
expect(res).to.have.status(401)
})
})
})
})

40
node_modules/digest-fetch/test/digest-fetch.js generated vendored Normal file
View File

@@ -0,0 +1,40 @@
process.env.NO_DEPRECATION = 'digest-fetch';
var after = require('after')
var assert = require('assert')
var DigestFetch = require('../')
describe('digest-fetch', function(){
it('get function', function(){
assert.equal(typeof DigestFetch, 'function')
})
it('should success', function() {
var client = new DigestFetch('test', '123')
assert.equal(typeof client.fetch, 'function')
client.parseAuth('')
client.addAuth('', {headers: {}})
assert.equal(client.digest.nc, 0)
})
it('test parse string fields', function () {
assert.equal(DigestFetch.parse('a=,', 'a'), '')
assert.equal(DigestFetch.parse('a=v1,', 'a'), 'v1')
assert.equal(DigestFetch.parse('a=""', 'b'), null)
assert.equal(DigestFetch.parse('a="v2",', 'a'), 'v2')
assert.equal(DigestFetch.parse('a="v1,v2"', 'a'), 'v1,v2')
const client = new DigestFetch("", "")
client.parseAuth('qop=auth-int,realm=test')
assert.equal(client.digest.realm, "test")
client.parseAuth('qop="auth",realm="v1 v2"')
assert.equal(client.digest.realm, "v1 v2")
})
it('test qop parsing', function () {
var client = new DigestFetch('test', '123')
assert.equal(client.parseQop('qop=auth,realm='), 'auth')
assert.equal(client.parseQop('qop="auth",realm='), 'auth')
assert.equal(client.parseQop('qop="auth,auth-int",realm='), 'auth')
assert.equal(client.parseQop('qop="auth-int",realm='), 'auth-int')
})
})

62
node_modules/digest-fetch/test/test-server.js generated vendored Normal file
View File

@@ -0,0 +1,62 @@
const path = require("path");
const express = require("express");
const passport = require('passport');
const Strategies = require("passport-http");
const DigestStrategy = Strategies.DigestStrategy;
const BasicStrategy = Strategies.BasicStrategy;
module.exports = { getApp(method) {
const app = express();
const User = {
findOne(user, callback) {
return callback(null, { password: "test", username: user.username });
}
}
passport.use(new BasicStrategy(
function(userid, password, done) {
User.findOne({ username: userid }, function (err, user) {
if (err) { return done(err); }
if (!user) { return done(null, false); }
if (user.password != password) { return done(null, false); }
return done(null, user);
});
}
));
const options = {}
if (method) options.qop = method
passport.use(new DigestStrategy(options,
function(username, done) {
User.findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) { return done(null, false); }
return done(null, user, user.password);
});
},
function(params, done) {
// validate nonces as necessary
done(null, true)
}
));
// http basic authentication
app.get('/basic',
passport.authenticate('basic', { session: false }),
function(req, res) {
res.json(req.user);
});
// http digest authentication
app.get('/auth',
passport.authenticate('digest', { session: false }),
function(req, res) {
res.json(req.user);
});
// app.use("/static", express.static(path.join(__dirname, './static')));
// app.get('/', (req, res) => res.sendFile("/home/stefan/digest/main.html") );
// app.listen(3222, "0.0.0.0");
return app
}}