mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-07 22:15:51 +01:00
add test
This commit is contained in:
@@ -2,17 +2,17 @@ package gitbucket.core.api
|
||||
import gitbucket.core.model.{Account, ReleaseAsset, ReleaseTag}
|
||||
import gitbucket.core.util.RepositoryName
|
||||
|
||||
case class ApiReleaseAsset(name: String, size: Long)(asset: ReleaseAsset, repositoryName: RepositoryName) {
|
||||
case class ApiReleaseAsset(name: String, size: Long)(tag: String, fileName: String, repositoryName: RepositoryName) {
|
||||
val label = name
|
||||
val file_id = asset.fileName
|
||||
val file_id = fileName
|
||||
val browser_download_url = ApiPath(
|
||||
s"/api/v3/repos/${repositoryName.fullName}/releases/${asset.tag}/assets/${asset.fileName}"
|
||||
s"/api/v3/repos/${repositoryName.fullName}/releases/${tag}/assets/${fileName}"
|
||||
)
|
||||
}
|
||||
|
||||
object ApiReleaseAsset {
|
||||
def apply(asset: ReleaseAsset, repositoryName: RepositoryName): ApiReleaseAsset =
|
||||
ApiReleaseAsset(asset.label, asset.size)(asset, repositoryName)
|
||||
ApiReleaseAsset(asset.label, asset.size)(asset.tag, asset.fileName, repositoryName)
|
||||
}
|
||||
|
||||
case class ApiRelease(
|
||||
|
||||
@@ -388,6 +388,25 @@ object ApiSpecModels {
|
||||
`object` = ApiObject(sha1)
|
||||
)
|
||||
|
||||
val assetFileName = "010203040a0b0c0d"
|
||||
|
||||
val apiReleaseAsset = ApiReleaseAsset(
|
||||
name = "release.zip",
|
||||
size = 100
|
||||
)(
|
||||
tag = "tag1",
|
||||
fileName = assetFileName,
|
||||
repositoryName = repo1Name
|
||||
)
|
||||
|
||||
val apiRelease = ApiRelease(
|
||||
name = "release1",
|
||||
tag_name = "tag1",
|
||||
body = Some("content"),
|
||||
author = apiUser,
|
||||
assets = Seq(apiReleaseAsset)
|
||||
)
|
||||
|
||||
// JSON String for APIs
|
||||
|
||||
val jsonUser = """{
|
||||
@@ -649,4 +668,21 @@ object ApiSpecModels {
|
||||
|
||||
val jsonRef = """{"ref":"refs/heads/featureA","object":{"sha":"6dcb09b5b57875f334f61aebed695e2e4193db5e"}}"""
|
||||
|
||||
val jsonReleaseAsset =
|
||||
s"""{
|
||||
|"name":"release.zip",
|
||||
|"size":100,
|
||||
|"label":"release.zip",
|
||||
|"file_id":"${assetFileName}",
|
||||
|"browser_download_url":"http://gitbucket.exmple.com/api/v3/repos/octocat/Hello-World/releases/tag1/assets/${assetFileName}"
|
||||
|}""".stripMargin
|
||||
|
||||
val jsonRelease =
|
||||
s"""{
|
||||
|"name":"release1",
|
||||
|"tag_name":"tag1",
|
||||
|"body":"content",
|
||||
|"author":${jsonUser},
|
||||
|"assets":[${jsonReleaseAsset}]
|
||||
|}""".stripMargin
|
||||
}
|
||||
|
||||
@@ -73,4 +73,10 @@ class JsonFormatSpec extends FunSuite {
|
||||
test("apiRef") {
|
||||
assert(JsonFormat(apiRef) == expected(jsonRef))
|
||||
}
|
||||
test("apiReleaseAsset") {
|
||||
assert(JsonFormat(apiReleaseAsset) == expected(jsonReleaseAsset))
|
||||
}
|
||||
test("apiRelease") {
|
||||
assert(JsonFormat(apiRelease) == expected(jsonRelease))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user