| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| package artifactory |
| |
| import ( |
| "path/filepath" |
| "reflect" |
| "testing" |
| ) |
| |
| // Implements apiModules |
| type mockAPIModules struct { |
| apis []string |
| } |
| |
| func (m mockAPIModules) BuildDir() string { |
| return "BUILD_DIR" |
| } |
| |
| func (m mockAPIModules) APIs() []string { |
| return m.apis |
| } |
| |
| func TestAPIUploads(t *testing.T) { |
| m := &mockAPIModules{ |
| apis: []string{"a", "b", "c"}, |
| } |
| expected := []Upload{ |
| { |
| Source: filepath.Join("BUILD_DIR", "a.json"), |
| Destination: "namespace/a.json", |
| }, |
| { |
| Source: filepath.Join("BUILD_DIR", "b.json"), |
| Destination: "namespace/b.json", |
| }, |
| { |
| Source: filepath.Join("BUILD_DIR", "c.json"), |
| Destination: "namespace/c.json", |
| }, |
| } |
| actual := buildAPIModuleUploads(m, "namespace") |
| if !reflect.DeepEqual(actual, expected) { |
| t.Fatalf("unexpected build API uploads:\nexpected: %v\nactual: %v\n", expected, actual) |
| } |
| } |