【发布时间】:2017-04-29 18:41:36
【问题描述】:
各位stackoverflowians :)
我一直在使用 Gmail API 进行 Post 调用。 一直在尝试使用 createDraft 和 createLabel。 现在我想我已经找到了正确的方法(大部分)但是我得到了这个错误:
java.lang.AssertionError: 1 expectation failed.
Expected status code <200> but was <400>.
我意识到发生此错误是因为我提出了错误的请求。
你们能帮我解决这个问题吗? 这是我的代码:
import io.restassured.RestAssured.*
import io.restassured.http.ContentType
import io.restassured.matcher.RestAssuredMatchers.*
import org.hamcrest.Matchers.*
import org.testng.annotations.Test
class RestAPIAutoTestPost {
@Test
fun createLabelInGoogleMail() {
RestAssured.baseURI = "https://www.googleapis.com/gmail/v1/users/me"
val accessToken = "ya29.Glw7BEv6***"
val jsonAsMap = HashMap<String, Any>()
jsonAsMap.put("id", "labelAPITestNameID")
jsonAsMap.put("labelListVisibility", "labelShow")
jsonAsMap.put("messageListVisibility", "show")
jsonAsMap.put("messagesTotal", "0")
jsonAsMap.put("messagesUnread", "0")
jsonAsMap.put("name", "labelAPITestName")
jsonAsMap.put("threadsTotal", "0")
jsonAsMap.put("threadsUnread", "0")
jsonAsMap.put("type", "user")
given().
contentType(ContentType.JSON).
body(jsonAsMap).
`when`()
post("/labels?access_token=$accessToken").
then().
statusCode(200)
}
}
我想我错误地使用了 HashMap 或者我使用了一些不正确的正文字段。 我才刚刚开始学习restAssured,所以请原谅我的新问题。
谢谢!
附:对于 Post 方法和将 data 放入 body
的任何帮助,我将不胜感激【问题讨论】:
标签: java automated-tests kotlin gmail-api rest-assured