add profile test
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/db17897d Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/db17897d Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/db17897d Branch: refs/heads/psql-rebase Commit: db17897d6095242d085f6781b68f310b54d49abe Parents: c8a6224 Author: David Neuman <david.neuma...@gmail.com> Authored: Fri Dec 2 15:36:11 2016 -0700 Committer: Dave Neuman <neu...@apache.org> Committed: Wed Dec 7 10:32:24 2016 -0700 ---------------------------------------------------------------------- .../client/tests/integration/hardware_test.go | 1 - .../client/tests/integration/parameter_test.go | 3 +- .../client/tests/integration/profile_test.go | 58 ++++++++++++++++++++ 3 files changed, 59 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/db17897d/traffic_ops/client/tests/integration/hardware_test.go ---------------------------------------------------------------------- diff --git a/traffic_ops/client/tests/integration/hardware_test.go b/traffic_ops/client/tests/integration/hardware_test.go index 6c7fb47..724c875 100644 --- a/traffic_ops/client/tests/integration/hardware_test.go +++ b/traffic_ops/client/tests/integration/hardware_test.go @@ -1,7 +1,6 @@ package integration import ( - // "encoding/json" "encoding/json" "testing" http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/db17897d/traffic_ops/client/tests/integration/parameter_test.go ---------------------------------------------------------------------- diff --git a/traffic_ops/client/tests/integration/parameter_test.go b/traffic_ops/client/tests/integration/parameter_test.go index 0f57045..8e5f00a 100644 --- a/traffic_ops/client/tests/integration/parameter_test.go +++ b/traffic_ops/client/tests/integration/parameter_test.go @@ -1,7 +1,6 @@ package integration import ( - // "encoding/json" "encoding/json" "fmt" "testing" @@ -32,7 +31,7 @@ func TestParameters(t *testing.T) { clientParams, err := to.Parameters(profile.Name) if err != nil { - t.Errorf("Could not get Hardware from client. Error is: %v\n", err) + t.Errorf("Could not get parameters from client. Error is: %v\n", err) t.FailNow() } http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/db17897d/traffic_ops/client/tests/integration/profile_test.go ---------------------------------------------------------------------- diff --git a/traffic_ops/client/tests/integration/profile_test.go b/traffic_ops/client/tests/integration/profile_test.go new file mode 100644 index 0000000..c4af200 --- /dev/null +++ b/traffic_ops/client/tests/integration/profile_test.go @@ -0,0 +1,58 @@ +package integration + +import ( + "encoding/json" + "fmt" + "testing" + + traffic_ops "github.com/apache/incubator-trafficcontrol/traffic_ops/client" +) + +func TestProfiles(t *testing.T) { + + uri := fmt.Sprintf("/api/1.2/profiles.json") + resp, err := Request(*to, "GET", uri, nil) + if err != nil { + t.Errorf("Could not get %s reponse was: %v\n", uri, err) + t.FailNow() + } + + defer resp.Body.Close() + var apiProfileRes traffic_ops.ProfileResponse + if err := json.NewDecoder(resp.Body).Decode(&apiProfileRes); err != nil { + t.Errorf("Could not decode profile json. Error is: %v\n", err) + t.FailNow() + } + apiProfiles := apiProfileRes.Response + + clientProfiles, err := to.Profiles() + if err != nil { + t.Errorf("Could not get profiles from client. Error is: %v\n", err) + t.FailNow() + } + + if len(apiProfiles) != len(clientProfiles) { + t.Errorf("Profile Response Length -- expected %v, got %v\n", len(apiProfiles), len(clientProfiles)) + } + + for _, apiProfile := range apiProfiles { + match := false + for _, clientProfile := range clientProfiles { + if apiProfile.ID == clientProfile.ID { + match = true + if apiProfile.Description != clientProfile.Description { + t.Errorf("Description -- Expected %v, got %v\n", apiProfile.Description, clientProfile.Description) + } + if apiProfile.LastUpdated != clientProfile.LastUpdated { + t.Errorf("Last Updated -- Expected %v, got %v\n", apiProfile.LastUpdated, clientProfile.LastUpdated) + } + if apiProfile.Name != clientProfile.Name { + t.Errorf("Name -- Expected %v, got %v\n", apiProfile.Name, clientProfile.Name) + } + } + } + if !match { + t.Errorf("Did not get a profile matching %v\n", apiProfile.Name) + } + } +}