lundi 4 janvier 2016

Continuous Integration tests with remote services

I am running into problems when trying to run my acceptance tests in CI mode (with testem) as opposed to when they are run in dev mode and work perfectly fine.

My acceptance tests are connecting to a live backend and need to go through a nginx proxy that routes to the proper microservice.

When using the CI mode, I notice that the testem assumes that your endpoints are local.

By reading the testem doc, I see that you can configure proxies to an external endpoint. However, this does not seem to work too well. I am not sure on how to debug and I wonder if my nginx proxy is interfering with the tests.

I was wondering if someone has run into this issue (and was able to fix it)

I also have a websocket host. I disabled it for now, but I'd like to make it work through the same mechanism.

Here's an exerpt of my testem.json file:

{
  "framework": "qunit",
  "test_page": "tests/index.html?hidepassed&coverage&doccontainer",
  "launch_in_ci": [
    "Chrome"
  ],
  "launch_in_dev": [
    "PhantomJS",
    "Chrome",
    "Safari"
  ],
  "proxies": {
    "/v1/crm": {
      "target": "https://HOST",
      "secure": false
    },
    "/v1/library": {
      "target": "http://localhost:3000/v2",
      "prependPath": false,
      "secure": false
    },
    "/v1/versions": {
      "target": "https://HOST",
      "secure": false
    },
    "/v1/scheduler": {
      "target": "https://HOST",
      "secure": false
    },
    "/v1/agent/socket": {
      "target": "wss://WEBSOCKETHOST",
      "ws": true,
      "secure": false
    }
  }
}




Aucun commentaire:

Enregistrer un commentaire