我对我用 Scala 编写的 REST API 服务进行了一些测试。我们正在导入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"
想法?谢谢!