1

I'm writing integration tests for Foxx service on ArangoDB, similar as described in documentation

However my ArangoDB server is configured with authentication-system-only=false, which means I need to use ArangoDB authentication to use Foxx service. But I don't know how to provide login/password when I run my tests.

Let's say my test file looks like:

"use strict";
const { expect } = require("chai");
const request = require("@arangodb/request");
const { baseUrl } = module.context;
const user = "my_user";
const password = "my_password";

describe("this service", () => {
  it("should say 'Hello World!' at the index route", () => {
    const response = request.get(
          baseUrl, 
          {
              auth: {
                    username: user,
                    password: password
                    }
          });
    expect(response.status).to.equal(200);
    expect(response.body).to.equal("Hello World!");
  });
});

(Note hardcoded login/password I would like to avoid)

I'm running test using : curl -u my_user:my_password -X POST 'http://myarangodb:8529/_db/mydb/_api/foxx/tests?mount=/graph'

Is there a way to provide login/password at test execution ?

  • Perhaps by getting authentication used by launching the test (curl command only works with authentication) ?
  • Perhaps by providing parameters to the command which could be reused in the script ?
Mohsen Alyafei
  • 4,765
  • 3
  • 30
  • 42
Greenmaid
  • 111
  • 3

0 Answers0