added test for servers

Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/d2478158
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/d2478158
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/d2478158

Branch: refs/heads/master
Commit: d2478158d71b89c86095aa4dfe1d8c5f7dffaf9c
Parents: 72d99eb
Author: David Neuman <david.neuma...@gmail.com>
Authored: Mon Dec 5 10:41:58 2016 -0700
Committer: Dan Kirkwood <dang...@gmail.com>
Committed: Sun Jan 8 21:05:00 2017 -0700

----------------------------------------------------------------------
 .../client/tests/integration/server_test.go     | 221 +++++++++++++++++++
 1 file changed, 221 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/d2478158/traffic_ops/client/tests/integration/server_test.go
----------------------------------------------------------------------
diff --git a/traffic_ops/client/tests/integration/server_test.go 
b/traffic_ops/client/tests/integration/server_test.go
new file mode 100644
index 0000000..ba50f3a
--- /dev/null
+++ b/traffic_ops/client/tests/integration/server_test.go
@@ -0,0 +1,221 @@
+package integration
+
+import (
+       "encoding/json"
+       "fmt"
+       "net/url"
+       "testing"
+
+       traffic_ops 
"github.com/apache/incubator-trafficcontrol/traffic_ops/client"
+)
+
+func TestServers(t *testing.T) {
+
+       uri := fmt.Sprintf("/api/1.2/servers.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 apiServerRes traffic_ops.ServerResponse
+       if err := json.NewDecoder(resp.Body).Decode(&apiServerRes); err != nil {
+               t.Errorf("Could not decode server json.  Error is: %v\n", err)
+               t.FailNow()
+       }
+       apiServers := apiServerRes.Response
+
+       clientServers, err := to.Servers()
+       if err != nil {
+               t.Errorf("Could not get servers from client.  Error is: %v\n", 
err)
+               t.FailNow()
+       }
+
+       if len(apiServers) != len(clientServers) {
+               t.Errorf("Server Response Length -- expected %v, got %v\n", 
len(apiServers), len(clientServers))
+       }
+
+       for _, apiServer := range apiServers {
+               match := false
+               for _, clientServer := range clientServers {
+                       if apiServer.ID == clientServer.ID {
+                               match = true
+                               compareServer(apiServer, clientServer, t)
+                       }
+               }
+               if !match {
+                       t.Errorf("Did not get a server matching %v\n", 
apiServer.ID)
+               }
+       }
+}
+
+func TestServersByType(t *testing.T) {
+       serverType, err := GetType("server")
+       if err != nil {
+               t.Error("Could not get Type from client for TestServersByType")
+               t.FailNow()
+       }
+       uri := fmt.Sprintf("/api/1.2/servers.json?type=%s", serverType.Name)
+       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 apiServerRes traffic_ops.ServerResponse
+       if err := json.NewDecoder(resp.Body).Decode(&apiServerRes); err != nil {
+               t.Errorf("Could not decode server json.  Error is: %v\n", err)
+               t.FailNow()
+       }
+       apiServers := apiServerRes.Response
+
+       params := make(url.Values)
+       params.Add("type", serverType.Name)
+       clientServers, err := to.ServersByType(params)
+       if err != nil {
+               t.Errorf("Could not get servers from client.  Error is: %v\n", 
err)
+               t.FailNow()
+       }
+
+       if len(apiServers) != len(clientServers) {
+               t.Errorf("Server Response Length -- expected %v, got %v\n", 
len(apiServers), len(clientServers))
+       }
+
+       for _, apiServer := range apiServers {
+               match := false
+               for _, clientServer := range clientServers {
+                       if apiServer.ID == clientServer.ID {
+                               match = true
+                               compareServer(apiServer, clientServer, t)
+                       }
+               }
+               if !match {
+                       t.Errorf("Did not get a server matching %v\n", 
apiServer.ID)
+               }
+       }
+
+}
+
+func TestServersFQDN(t *testing.T) {
+       serverType, err := GetType("server")
+       if err != nil {
+               t.Error("Could not get Type from client")
+               t.FailNow()
+       }
+
+       params := make(url.Values)
+       params.Add("type", serverType.Name)
+       servers, err := to.ServersByType(params)
+       if err != nil {
+               t.Errorf("Could not get servers from client.  Error is: %v\n", 
err)
+               t.FailNow()
+       }
+
+       serverFQDN := fmt.Sprintf("%s.%s", servers[0].HostName, 
servers[0].DomainName)
+
+       clientFQDN, err := to.ServersFqdn(servers[0].HostName)
+       if err != nil {
+               t.Errorf("Servers FQDN failed...err: %v\n", err)
+       }
+       if clientFQDN != serverFQDN {
+               t.Errorf("Client FQDN -- expected %v, got %v", serverFQDN, 
clientFQDN)
+       }
+}
+
+func compareServer(server1 traffic_ops.Server, server2 traffic_ops.Server, t 
*testing.T) {
+       if server1.CDNName != server2.CDNName {
+               t.Errorf("CDNName -- Expected %v, got %v", server1.CDNName, 
server2.CDNName)
+       }
+       if server1.Cachegroup != server2.Cachegroup {
+               t.Errorf("Cachegroup -- Expected %v, got %v", 
server1.Cachegroup, server2.Cachegroup)
+       }
+       if server1.DomainName != server2.DomainName {
+               t.Errorf("DomainName -- Expected %v, got %v", 
server1.DomainName, server2.DomainName)
+       }
+       if server1.HostName != server2.HostName {
+               t.Errorf("HostName -- Expected %v, got %v", server1.HostName, 
server2.HostName)
+       }
+       if server1.IP6Address != server2.IP6Address {
+               t.Errorf("IP6Address -- Expected %v, got %v", 
server1.IPAddress, server2.IP6Address)
+       }
+       if server1.IP6Gateway != server2.IP6Gateway {
+               t.Errorf("IP6Gateway -- Expected %v, got %v", 
server1.IP6Gateway, server2.IP6Gateway)
+       }
+       if server1.IPAddress != server2.IPAddress {
+               t.Errorf("IPAddress -- Expected %v, got %v", server1.IPAddress, 
server2.IPAddress)
+       }
+       if server1.IPGateway != server2.IPGateway {
+               t.Errorf("IPGateway -- Expected %v, got %v", server1.IPGateway, 
server2.IPGateway)
+       }
+       if server1.IPNetmask != server2.IPNetmask {
+               t.Errorf("IPNetmask -- Expected %v, got %v", server1.IPNetmask, 
server2.IPNetmask)
+       }
+       if server1.IloIPAddress != server2.IloIPAddress {
+               t.Errorf("IloIPAddress -- Expected %v, got %v", 
server1.IloIPAddress, server2.IloIPAddress)
+       }
+       if server1.IloIPGateway != server2.IloIPGateway {
+               t.Errorf("IloIPGateway -- Expected %v, got %v", 
server1.IloIPGateway, server2.IloIPGateway)
+       }
+       if server1.IloIPNetmask != server2.IloIPNetmask {
+               t.Errorf("IloIPNetmast -- Expected %v, got %v", 
server1.IloIPNetmask, server2.IloIPNetmask)
+       }
+       if server1.IloPassword != server2.IloPassword {
+               t.Errorf("IloPassword -- Expected %v, got %v", 
server1.IloPassword, server2.IloPassword)
+       }
+       if server1.IloUsername != server2.IloUsername {
+               t.Errorf("IloUsername -- Expected %v, got %v", 
server1.IloUsername, server2.IloUsername)
+       }
+       if server1.InterfaceMtu != server2.InterfaceMtu {
+               t.Errorf("InterfaceMty -- Expected %v, got %v", 
server1.InterfaceMtu, server2.InterfaceMtu)
+       }
+       if server1.InterfaceName != server2.InterfaceName {
+               t.Errorf("InterfaceName -- Expected %v, got %v", 
server1.InterfaceName, server2.InterfaceName)
+       }
+       if server1.LastUpdated != server2.LastUpdated {
+               t.Errorf("LastUpdated -- Expected %v, got %v", 
server1.LastUpdated, server2.LastUpdated)
+       }
+       if server1.MgmtIPAddress != server2.MgmtIPAddress {
+               t.Errorf("MgmtIPAddress -- Expected %v, got %v", 
server1.MgmtIPAddress, server2.MgmtIPAddress)
+       }
+       if server1.MgmtIPGateway != server2.MgmtIPGateway {
+               t.Errorf("MgmtIPGateway -- Expected %v, got %v", 
server1.MgmtIPGateway, server2.MgmtIPGateway)
+       }
+       if server1.MgmtIPNetmask != server2.MgmtIPNetmask {
+               t.Errorf("MgmtIPNetmask -- Expected %v, got %v", 
server1.MgmtIPNetmask, server2.MgmtIPNetmask)
+       }
+       if server1.PhysLocation != server2.PhysLocation {
+               t.Errorf("PhysLocation -- Expected %v, got %v", 
server1.PhysLocation, server2.PhysLocation)
+       }
+       if server1.Profile != server2.Profile {
+               t.Errorf("Profile -- Expected %v, got %v", server1.Profile, 
server2.Profile)
+       }
+       if server1.ProfileDesc != server2.ProfileDesc {
+               t.Errorf("ProfileDesc -- Expected %v, got %v", 
server1.ProfileDesc, server2.ProfileDesc)
+       }
+       if server1.Rack != server2.Rack {
+               t.Errorf("Rack -- Expected %v, got %v", server1.Rack, 
server2.Rack)
+       }
+       if server1.RouterHostName != server2.RouterHostName {
+               t.Errorf("RouterHostName -- Expected %v, got %v", 
server1.RouterHostName, server2.RouterHostName)
+       }
+       if server1.RouterPortName != server2.RouterPortName {
+               t.Errorf("RouterPortName -- Expected %v, got %v", 
server1.RouterPortName, server2.RouterPortName)
+       }
+       if server1.Status != server2.Status {
+               t.Errorf("Status -- Expected %v, got %v", server1.Status, 
server2.Status)
+       }
+       if server1.TCPPort != server2.TCPPort {
+               t.Errorf("TCPPort -- Expected %v, got %v", server1.TCPPort, 
server2.TCPPort)
+       }
+       if server1.Type != server2.Type {
+               t.Errorf("Type -- Expected %v, got %v", server1.Type, 
server2.Type)
+       }
+       if server1.XMPPID != server2.XMPPID {
+               t.Errorf("XMPPID -- Expected %v, got %v", server1.XMPPID, 
server2.XMPPID)
+       }
+       if server1.XMPPPasswd != server2.XMPPPasswd {
+               t.Errorf("XMPPasswd -- Expected %v, got %v", 
server1.XMPPPasswd, server2.XMPPPasswd)
+       }
+}

Reply via email to