Scalaで作成したRESTAPIサービスのテストがいくつかあります。org.apache.http
次のような単純なHTTPメソッドをインポートして使用しています。
val uri: HttpGet = new HttpGet(u)
val response: HttpResponse = http.execute(uri)
次のようなURLにアクセスします。
https://platform.company.com:443/ajax_request/login?username=me@company.com&password=pass
また
https://admin-platform.company.com:443/usergroups/rest/usergroups
テストはMavenでコンパイルされ、Jenkinsバージョンで実行されます。1.494サーバー。
問題は、テストがローカルで問題なく実行されている間(mvn clean test
ラップトップで実行した場合)、CIサーバーで予期しないステータスコードを取得することです。ローカルでは、これらのテストで204、200、200、および200を取得します。しかし、CIでは302、302、302、200を取得します。
Jenkinsに特別な構成オプションが必要ですか?または、より良い認証方法ですか?
CIサーバー自体でcURLコマンドを正常に実行できるので、これが基本的なネットワーク接続の問題ではないと思います。例:
Running script : #!/bin/bash
# get an auth session
curl -v -b cookies.txt -c cookies.txt -L "https://platform.company.com/ajax_request/login?
username=user&password=pass"
# get a list of company guids
curl -v -b cookies.txt -c cookies.txt -L
"https://platform.company.com/ajax_request/companies_selector"
# run this to make a call to service for company:
curl -v -b cookies.txt -c cookies.txt --cookie "company_guid=3f65b34d-b6f4-4abd-b14b-408b8a11059b"
-L "https://service-platform.company.com/users"
アイデア?ありがとう!