Terminplaner: Mailkontingent je Funktion, Vorrang-Reserve und kleinere Haltungsgrenze
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
978722023f
commit
c35711caad
7 files changed
+330
-42
No files matched your search
@@ -611,19 +611,19 @@ test('die IP kommt vom Proxy: ein selbst gesetzter erster Eintrag in X-Forwarded
|
||||
assert.equal((await buchen({ kontakt_url: 'x' }, { ip: `192.0.2.99, ${ip}` })).status, 429, 'gezaehlt wird der letzte Eintrag (trust proxy 1)')
|
||||
})
|
||||
|
||||
test('je siteKey 60 gehaltene Termine pro Stunde: danach 429, ohne dass eine Buchung entsteht; Honeypot-Versuche zaehlen nicht mit', async () => {
|
||||
test('je siteKey 25 gehaltene Termine pro Stunde: danach 429, ohne dass eine Buchung entsteht; Honeypot-Versuche zaehlen nicht mit', async () => {
|
||||
await speichere()
|
||||
for (let i = 0; i < 60; i += 1) assert.equal(darfHaltung(SITE_KEY, JETZT), true)
|
||||
for (let i = 0; i < 25; i += 1) assert.equal(darfHaltung(SITE_KEY, JETZT), true)
|
||||
const res = await buchen()
|
||||
assert.equal(res.status, 429)
|
||||
assert.deepEqual(Object.keys(res.body.fehler), ['_'])
|
||||
assert.equal(buchungen().length, 0)
|
||||
|
||||
resetTermineLimitsForTests()
|
||||
for (let i = 0; i < 59; i += 1) assert.equal(darfHaltung(SITE_KEY, JETZT), true)
|
||||
for (let i = 0; i < 24; i += 1) assert.equal(darfHaltung(SITE_KEY, JETZT), true)
|
||||
for (let i = 0; i < 3; i += 1) assert.equal((await buchen({ kontakt_url: 'x' }, { ip: `198.51.100.${i + 1}` })).status, 201)
|
||||
assert.equal((await buchen({ zeit: '10:00' })).status, 201, 'die 60. Haltung geht noch')
|
||||
assert.equal((await buchen({ zeit: '11:00', email: 'anna@example.com' })).status, 429, 'die 61. nicht')
|
||||
assert.equal((await buchen({ zeit: '10:00' })).status, 201, 'die 25. Haltung geht noch')
|
||||
assert.equal((await buchen({ zeit: '11:00', email: 'anna@example.com' })).status, 429, 'die 26. nicht')
|
||||
assert.equal(buchungen().length, 1)
|
||||
})
|
||||
|
||||
|
||||
Reference in new issue
Block a user