47 lines
918 B
Go
47 lines
918 B
Go
package fixtures
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// Handler returns an http.Handler that is capable of handling a variety of mock
|
|
// Bitbucket requests and returning mock responses.
|
|
func Handler() http.Handler {
|
|
gin.SetMode(gin.TestMode)
|
|
|
|
e := gin.New()
|
|
e.GET("/api/v3/repos/:owner/:name", getRepo)
|
|
|
|
return e
|
|
}
|
|
|
|
func getRepo(c *gin.Context) {
|
|
switch c.Param("name") {
|
|
case "repo_not_found":
|
|
c.String(404, "")
|
|
default:
|
|
c.String(200, repoPayload)
|
|
}
|
|
}
|
|
|
|
var repoPayload = `
|
|
{
|
|
"owner": {
|
|
"login": "octocat",
|
|
"avatar_url": "https://github.com/images/error/octocat_happy.gif"
|
|
},
|
|
"name": "Hello-World",
|
|
"full_name": "octocat/Hello-World",
|
|
"private": true,
|
|
"html_url": "https://github.com/octocat/Hello-World",
|
|
"clone_url": "https://github.com/octocat/Hello-World.git",
|
|
"language": null,
|
|
"permissions": {
|
|
"admin": true,
|
|
"push": true,
|
|
"pull": true
|
|
}
|
|
}
|
|
`
|