51 lines
2.2 KiB
TypeScript
51 lines
2.2 KiB
TypeScript
|
import { RemoteSources } from "../src/freeDatas2HTMLRemoteSources";
|
||
|
const errors=require("../src/errors.js");
|
||
|
|
||
|
describe("Tests des urls distantes", () =>
|
||
|
{
|
||
|
let source: RemoteSources;
|
||
|
|
||
|
beforeEach( () =>
|
||
|
{
|
||
|
source=new RemoteSources({ url:"http://localhost:8080/" });
|
||
|
});
|
||
|
|
||
|
it("Doit générer une erreur si l'url fournie est une chaîne vide.", () =>
|
||
|
{
|
||
|
expect(() => { return source.url=""; }).toThrowError(errors.remoteSourceNeedUrl);
|
||
|
expect(() => { return source.url=" "; }).toThrowError(errors.remoteSourceNeedUrl);
|
||
|
});
|
||
|
|
||
|
it("Doit générer une erreur si l'url fournie n'utilise pas un des protocoles autorisés.", () =>
|
||
|
{
|
||
|
expect(() => { return source.url="htp://localhost:8080/"; }).toThrowError(errors.remoteSourceUrlFail);
|
||
|
expect(() => { return source.url="ftp://localhost:8080/"; }).toThrowError(errors.remoteSourceUrlFail);
|
||
|
});
|
||
|
|
||
|
it("Doit accepter une url valide", () =>
|
||
|
{
|
||
|
expect(() => { return source.url="http://localhost:8080/"; }).not.toThrowError();
|
||
|
source.allowedUrlProtocol.push("ftp:");
|
||
|
expect(() => { return source.url="ftp://localhost:8080/"; }).not.toThrowError();
|
||
|
});
|
||
|
|
||
|
it("Seuls les headers conformes doivent être retenus", () =>
|
||
|
{
|
||
|
source.headers=[ { key:"token", value:"1234" }, { key:"vide", value:"" }, { key:"Sec-id", value:"666" }, { key:"Proxy-name", value:"myProxy" }, { key:"Content-Length", value:"255" }, { key:"userName", value:"Toto" }];
|
||
|
expect(source.headers).toEqual([ { key:"token", value:"1234" }, { key:"vide", value:"" }, { key:"userName", value:"Toto" }]);
|
||
|
});
|
||
|
|
||
|
it("Doit retourner la configuration correcte pour fetch.", () =>
|
||
|
{
|
||
|
let headers=new Headers();
|
||
|
expect(source.getFetchSettings()).toEqual({ method: "GET", headers: headers, credentials: "omit" });
|
||
|
|
||
|
source.headers=[ { key:"token", value:"1234" }, { key:"userName", value:"Toto" }];
|
||
|
source.withCredentials=true;
|
||
|
headers=new Headers();
|
||
|
headers.append("token", "1234");
|
||
|
headers.append("userName", "Toto");
|
||
|
expect(source.getFetchSettings()).toEqual({ method: "GET", headers: headers, credentials: "include" });
|
||
|
});
|
||
|
|
||
|
});
|