github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/web/elm/tests/ApiEndpointsTests.elm (about) 1 module ApiEndpointsTests exposing (testEndpoints, testToString) 2 3 import Api.Endpoints as E exposing (Endpoint(..), toString) 4 import Data 5 import Expect 6 import Test exposing (Test, describe, test) 7 import Url.Builder 8 9 10 testEndpoints : Test 11 testEndpoints = 12 describe "ApiEndpoints" <| 13 let 14 toPath = 15 toString [] 16 in 17 [ test "PipelinesList" <| 18 \_ -> 19 PipelinesList 20 |> toPath 21 |> Expect.equal "/api/v1/pipelines" 22 , describe "Pipeline" <| 23 let 24 basePipelineEndpoint = 25 Pipeline Data.pipelineId 26 in 27 [ test "Base" <| 28 \_ -> 29 E.BasePipeline 30 |> basePipelineEndpoint 31 |> toPath 32 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline" 33 , test "Pause" <| 34 \_ -> 35 E.PausePipeline 36 |> basePipelineEndpoint 37 |> toPath 38 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/pause" 39 , test "Unpause" <| 40 \_ -> 41 E.UnpausePipeline 42 |> basePipelineEndpoint 43 |> toPath 44 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/unpause" 45 , test "Expose" <| 46 \_ -> 47 E.ExposePipeline 48 |> basePipelineEndpoint 49 |> toPath 50 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/expose" 51 , test "Hide" <| 52 \_ -> 53 E.HidePipeline 54 |> basePipelineEndpoint 55 |> toPath 56 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/hide" 57 , test "JobsList" <| 58 \_ -> 59 E.PipelineJobsList 60 |> basePipelineEndpoint 61 |> toPath 62 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/jobs" 63 , test "ResourcesList" <| 64 \_ -> 65 E.PipelineResourcesList 66 |> basePipelineEndpoint 67 |> toPath 68 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/resources" 69 ] 70 , test "JobsList" <| 71 \_ -> 72 JobsList 73 |> toPath 74 |> Expect.equal "/api/v1/jobs" 75 , describe "Job" <| 76 let 77 baseJobEndpoint = 78 Job Data.jobId 79 in 80 [ test "Base" <| 81 \_ -> 82 E.BaseJob 83 |> baseJobEndpoint 84 |> toPath 85 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/jobs/job" 86 , test "Pause" <| 87 \_ -> 88 E.PauseJob 89 |> baseJobEndpoint 90 |> toPath 91 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/jobs/job/pause" 92 , test "Unpause" <| 93 \_ -> 94 E.UnpauseJob 95 |> baseJobEndpoint 96 |> toPath 97 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/jobs/job/unpause" 98 , test "BuildsList" <| 99 \_ -> 100 E.JobBuildsList 101 |> baseJobEndpoint 102 |> toPath 103 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/jobs/job/builds" 104 ] 105 , test "JobBuild" <| 106 \_ -> 107 JobBuild 108 (Data.jobBuildId 109 |> Data.withBuildName "build" 110 |> Data.withJobName "job" 111 |> Data.withPipelineName "pipeline" 112 |> Data.withTeamName "team" 113 ) 114 |> toPath 115 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/jobs/job/builds/build" 116 , describe "Build" <| 117 let 118 baseBuildEndpoint = 119 Build 1 120 in 121 [ test "Base" <| 122 \_ -> 123 E.BaseBuild 124 |> baseBuildEndpoint 125 |> toPath 126 |> Expect.equal "/api/v1/builds/1" 127 , test "Plan" <| 128 \_ -> 129 E.BuildPlan 130 |> baseBuildEndpoint 131 |> toPath 132 |> Expect.equal "/api/v1/builds/1/plan" 133 , test "Prep" <| 134 \_ -> 135 E.BuildPrep 136 |> baseBuildEndpoint 137 |> toPath 138 |> Expect.equal "/api/v1/builds/1/preparation" 139 , test "Abort" <| 140 \_ -> 141 E.AbortBuild 142 |> baseBuildEndpoint 143 |> toPath 144 |> Expect.equal "/api/v1/builds/1/abort" 145 , test "ResourcesList" <| 146 \_ -> 147 E.BuildResourcesList 148 |> baseBuildEndpoint 149 |> toPath 150 |> Expect.equal "/api/v1/builds/1/resources" 151 , test "EventStream" <| 152 \_ -> 153 E.BuildEventStream 154 |> baseBuildEndpoint 155 |> toPath 156 |> Expect.equal "/api/v1/builds/1/events" 157 ] 158 , test "ResourcesList" <| 159 \_ -> 160 ResourcesList 161 |> toPath 162 |> Expect.equal "/api/v1/resources" 163 , describe "Resource" <| 164 let 165 baseResourceEndpoint = 166 Resource Data.resourceId 167 in 168 [ test "Base" <| 169 \_ -> 170 E.BaseResource 171 |> baseResourceEndpoint 172 |> toPath 173 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/resources/resource" 174 , test "VersionsList" <| 175 \_ -> 176 E.ResourceVersionsList 177 |> baseResourceEndpoint 178 |> toPath 179 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/resources/resource/versions" 180 , test "Unpin" <| 181 \_ -> 182 E.UnpinResource 183 |> baseResourceEndpoint 184 |> toPath 185 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/resources/resource/unpin" 186 , test "Check" <| 187 \_ -> 188 E.CheckResource 189 |> baseResourceEndpoint 190 |> toPath 191 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/resources/resource/check" 192 , test "PinComment" <| 193 \_ -> 194 E.PinResourceComment 195 |> baseResourceEndpoint 196 |> toPath 197 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/resources/resource/pin_comment" 198 ] 199 , describe "ResourceVersion" <| 200 let 201 baseVersionEndpoint = 202 ResourceVersion (Data.resourceVersionId 1) 203 in 204 [ test "InputTo" <| 205 \_ -> 206 E.ResourceVersionInputTo 207 |> baseVersionEndpoint 208 |> toPath 209 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/resources/resource/versions/1/input_to" 210 , test "OutputOf" <| 211 \_ -> 212 E.ResourceVersionOutputOf 213 |> baseVersionEndpoint 214 |> toPath 215 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/resources/resource/versions/1/output_of" 216 , test "Pin" <| 217 \_ -> 218 E.PinResourceVersion 219 |> baseVersionEndpoint 220 |> toPath 221 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/resources/resource/versions/1/pin" 222 , test "Enable" <| 223 \_ -> 224 E.EnableResourceVersion 225 |> baseVersionEndpoint 226 |> toPath 227 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/resources/resource/versions/1/enable" 228 , test "Disable" <| 229 \_ -> 230 E.DisableResourceVersion 231 |> baseVersionEndpoint 232 |> toPath 233 |> Expect.equal "/api/v1/teams/team/pipelines/pipeline/resources/resource/versions/1/disable" 234 ] 235 , test "TeamsList" <| 236 \_ -> 237 TeamsList 238 |> toPath 239 |> Expect.equal "/api/v1/teams" 240 , describe "Team" <| 241 let 242 baseTeamEndpoint = 243 Team "team" 244 in 245 [ test "PipelinesList" <| 246 \_ -> 247 E.TeamPipelinesList 248 |> baseTeamEndpoint 249 |> toPath 250 |> Expect.equal "/api/v1/teams/team/pipelines" 251 , test "OrderPipelines" <| 252 \_ -> 253 E.OrderTeamPipelines 254 |> baseTeamEndpoint 255 |> toPath 256 |> Expect.equal "/api/v1/teams/team/pipelines/ordering" 257 ] 258 , test "ClusterInfo" <| 259 \_ -> 260 ClusterInfo 261 |> toPath 262 |> Expect.equal "/api/v1/info" 263 , test "Cli" <| 264 \_ -> 265 Cli 266 |> toPath 267 |> Expect.equal "/api/v1/cli" 268 , test "UserInfo" <| 269 \_ -> 270 UserInfo 271 |> toPath 272 |> Expect.equal "/api/v1/user" 273 , test "Logout" <| 274 \_ -> 275 Logout 276 |> toPath 277 |> Expect.equal "/sky/logout" 278 ] 279 280 281 testToString : Test 282 testToString = 283 describe "toString" 284 [ test "adds query params" <| 285 \_ -> 286 Logout 287 |> toString [ Url.Builder.string "hello" "world" ] 288 |> Expect.equal "/sky/logout?hello=world" 289 ]