mirror of
https://github.com/kataras/iris.git
synced 2025-12-18 02:17:05 +00:00
fix #2158 and more
This commit is contained in:
@@ -26,7 +26,7 @@ func TestDeprecated(t *testing.T) {
|
||||
e := httptest.New(t, app)
|
||||
|
||||
ex := e.GET("/").WithHeader(versioning.AcceptVersionHeaderKey, "1.0").Expect()
|
||||
ex.Status(iris.StatusOK).Body().Equal("1.0")
|
||||
ex.Status(iris.StatusOK).Body().IsEqual("1.0")
|
||||
ex.Header("X-API-Warn").Equal(opts.WarnMessage)
|
||||
expectedDateStr := opts.DeprecationDate.Format(app.ConfigurationReadOnly().GetTimeFormat())
|
||||
ex.Header("X-API-Deprecation-Date").Equal(expectedDateStr)
|
||||
|
||||
@@ -37,20 +37,20 @@ func TestNewGroup(t *testing.T) {
|
||||
e := httptest.New(t, app)
|
||||
|
||||
ex := e.GET("/api/user").WithHeader(versioning.AcceptVersionHeaderKey, "1.0.0").Expect()
|
||||
ex.Status(iris.StatusOK).Body().Equal(v10Response)
|
||||
ex.Status(iris.StatusOK).Body().IsEqual(v10Response)
|
||||
ex.Header("X-API-Warn").Equal(versioning.DefaultDeprecationOptions.WarnMessage)
|
||||
|
||||
e.GET("/api/user").WithHeader(versioning.AcceptVersionHeaderKey, "2.0.0").Expect().
|
||||
Status(iris.StatusOK).Body().Equal(v2Response)
|
||||
Status(iris.StatusOK).Body().IsEqual(v2Response)
|
||||
e.GET("/api/user").WithHeader(versioning.AcceptVersionHeaderKey, "2.1.0").Expect().
|
||||
Status(iris.StatusOK).Body().Equal(v2Response)
|
||||
Status(iris.StatusOK).Body().IsEqual(v2Response)
|
||||
e.GET("/api/user").WithHeader(versioning.AcceptVersionHeaderKey, "2.9.9").Expect().
|
||||
Status(iris.StatusOK).Body().Equal(v2Response)
|
||||
Status(iris.StatusOK).Body().IsEqual(v2Response)
|
||||
e.POST("/api/user").WithHeader(versioning.AcceptVersionHeaderKey, "2.0.0").Expect().
|
||||
Status(iris.StatusOK).Body().Equal(v2Response)
|
||||
Status(iris.StatusOK).Body().IsEqual(v2Response)
|
||||
e.PUT("/api/user/other").WithHeader(versioning.AcceptVersionHeaderKey, "2.9.0").Expect().
|
||||
Status(iris.StatusOK).Body().Equal(v2Response)
|
||||
Status(iris.StatusOK).Body().IsEqual(v2Response)
|
||||
|
||||
e.GET("/api/user").WithHeader(versioning.AcceptVersionHeaderKey, "3.0").Expect().
|
||||
Status(iris.StatusNotImplemented).Body().Equal("version not found")
|
||||
Status(iris.StatusNotImplemented).Body().IsEqual("version not found")
|
||||
}
|
||||
|
||||
@@ -33,27 +33,27 @@ func TestGetVersion(t *testing.T) {
|
||||
e := httptest.New(t, app)
|
||||
|
||||
e.GET("/").WithHeader(versioning.AcceptVersionHeaderKey, "1.0.0").Expect().
|
||||
Status(iris.StatusOK).Body().Equal("1.0.0")
|
||||
Status(iris.StatusOK).Body().IsEqual("1.0.0")
|
||||
e.GET("/").WithHeader(versioning.AcceptHeaderKey, "application/vnd.api+json; version=2.1.0").Expect().
|
||||
Status(iris.StatusOK).Body().Equal("2.1.0")
|
||||
Status(iris.StatusOK).Body().IsEqual("2.1.0")
|
||||
e.GET("/").WithHeader(versioning.AcceptHeaderKey, "application/vnd.api+json; version=2.1.0 ;other=dsa").Expect().
|
||||
Status(iris.StatusOK).Body().Equal("2.1.0")
|
||||
Status(iris.StatusOK).Body().IsEqual("2.1.0")
|
||||
e.GET("/").WithHeader(versioning.AcceptHeaderKey, "version=2.1.0").Expect().
|
||||
Status(iris.StatusOK).Body().Equal("2.1.0")
|
||||
Status(iris.StatusOK).Body().IsEqual("2.1.0")
|
||||
e.GET("/").WithHeader(versioning.AcceptHeaderKey, "version=1.0.0").Expect().
|
||||
Status(iris.StatusOK).Body().Equal("1.0.0")
|
||||
Status(iris.StatusOK).Body().IsEqual("1.0.0")
|
||||
|
||||
// unknown versions.
|
||||
e.GET("/").WithHeader(versioning.AcceptVersionHeaderKey, "").Expect().
|
||||
Status(iris.StatusOK).Body().Equal("")
|
||||
Status(iris.StatusOK).Body().IsEqual("")
|
||||
e.GET("/").WithHeader(versioning.AcceptHeaderKey, "application/vnd.api+json; version=").Expect().
|
||||
Status(iris.StatusOK).Body().Equal("")
|
||||
Status(iris.StatusOK).Body().IsEqual("")
|
||||
e.GET("/").WithHeader(versioning.AcceptHeaderKey, "application/vnd.api+json; version= ;other=dsa").Expect().
|
||||
Status(iris.StatusOK).Body().Equal("")
|
||||
Status(iris.StatusOK).Body().IsEqual("")
|
||||
e.GET("/").WithHeader(versioning.AcceptHeaderKey, "version=").Expect().
|
||||
Status(iris.StatusOK).Body().Equal("")
|
||||
Status(iris.StatusOK).Body().IsEqual("")
|
||||
|
||||
e.GET("/manual").Expect().Status(iris.StatusOK).Body().Equal("11.0.5")
|
||||
e.GET("/manual").Expect().Status(iris.StatusOK).Body().IsEqual("11.0.5")
|
||||
}
|
||||
|
||||
func TestVersionAliases(t *testing.T) {
|
||||
@@ -87,21 +87,21 @@ func TestVersionAliases(t *testing.T) {
|
||||
e := httptest.New(t, app)
|
||||
|
||||
// Make sure the SetVersion still works.
|
||||
e.GET("/api/manual").Expect().Status(iris.StatusOK).Body().Equal("12.0.0")
|
||||
e.GET("/api/manual").Expect().Status(iris.StatusOK).Body().IsEqual("12.0.0")
|
||||
|
||||
// Test Empty default.
|
||||
e.GET("/api").WithHeader(versioning.AcceptVersionHeaderKey, "").Expect().
|
||||
Status(iris.StatusOK).Body().Equal("1.0.0")
|
||||
Status(iris.StatusOK).Body().IsEqual("1.0.0")
|
||||
// Test NotFound error, aliases are not responsible for that.
|
||||
e.GET("/api").WithHeader(versioning.AcceptVersionHeaderKey, "4.0.0").Expect().
|
||||
Status(iris.StatusNotImplemented).Body().Equal("version not found")
|
||||
Status(iris.StatusNotImplemented).Body().IsEqual("version not found")
|
||||
// Test "stage" alias.
|
||||
e.GET("/api").WithHeader(versioning.AcceptVersionHeaderKey, "stage").Expect().
|
||||
Status(iris.StatusOK).Body().Equal("2.0.0")
|
||||
Status(iris.StatusOK).Body().IsEqual("2.0.0")
|
||||
// Test version 2.
|
||||
e.GET("/api").WithHeader(versioning.AcceptVersionHeaderKey, "2.0.0").Expect().
|
||||
Status(iris.StatusOK).Body().Equal("2.0.0")
|
||||
Status(iris.StatusOK).Body().IsEqual("2.0.0")
|
||||
// Test version 3 (registered first).
|
||||
e.GET("/api").WithHeader(versioning.AcceptVersionHeaderKey, "3.1.0").Expect().
|
||||
Status(iris.StatusOK).Body().Equal("3.1.0")
|
||||
Status(iris.StatusOK).Body().IsEqual("3.1.0")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user