/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import 'mocha'
-import * as chai from 'chai'
+import { expect } from 'chai'
import { buildDigest } from '@server/helpers/peertube-crypto'
import { HTTP_SIGNATURE } from '@server/initializers/constants'
import { activityPubContextify } from '@server/lib/activitypub/context'
import { HttpStatusCode } from '@shared/models'
import { cleanupTests, createMultipleServers, killallServers, PeerTubeServer } from '@shared/server-commands'
-const expect = chai.expect
-
function setKeysOfServer (onServer: PeerTubeServer, ofServer: PeerTubeServer, publicKey: string, privateKey: string) {
const url = 'http://localhost:' + ofServer.port + '/accounts/peertube'
}
})
+ it('Should succeed with a valid HTTP signature draft 11 (without date but with (created))', async function () {
+ const body = activityPubContextify(getAnnounceWithoutContext(servers[1]), 'Announce')
+ const headers = buildGlobalHeaders(body)
+
+ const signatureOptions = baseHttpSignature()
+ signatureOptions.headers = [ '(request-target)', '(created)', 'host', 'digest' ]
+
+ const { statusCode } = await makePOSTAPRequest(url, body, signatureOptions, headers)
+ expect(statusCode).to.equal(HttpStatusCode.NO_CONTENT_204)
+ })
+
it('Should succeed with a valid HTTP signature', async function () {
const body = activityPubContextify(getAnnounceWithoutContext(servers[1]), 'Announce')
const headers = buildGlobalHeaders(body)