func TestServerByType(t *testing.T) { resp := fixtures.LogstashServers() server := testHelper.ValidHTTPServer(resp) defer server.Close() var httpClient http.Client to := client.Session{ URL: server.URL, UserAgent: &httpClient, } testHelper.Context(t, "Given the need to test a successful Traffic Ops request for \"Logstash\" Servers") params := make(url.Values) params.Add("type", "Logstash") servers, err := to.ServersByType(params) if err != nil { testHelper.Error(t, "Should be able to make a request to Traffic Ops") } else { testHelper.Success(t, "Should be able to make a request to Traffic Ops") } if len(servers) != 2 { testHelper.Error(t, "Should get back \"2\" Server, got: %d", len(servers)) } else { testHelper.Success(t, "Should get back \"2\" Server") } if servers[0].HostName != "logstash-01" { testHelper.Error(t, "Should get \"logstash-01\" for \"HostName\", got: %s", servers[0].HostName) } else { testHelper.Success(t, "Should get \"logstash-01\" for \"HostName\"") } if servers[0].DomainName != "albuquerque.nm.albuq.kabletown.com" { testHelper.Error(t, "Should get \"albuquerque.nm.albuq.kabletown.com\" for \"DomainName\", got: %s", servers[0].DomainName) } else { testHelper.Success(t, "Should get \"albuquerque.nm.albuq.kabletown.com\" for \"DomainName\"") } if servers[0].Type != "LOGSTASH" { testHelper.Error(t, "Should get \"LOGSTASH\" for \"Type\", got: %s", servers[0].Type) } else { testHelper.Success(t, "Should get \"LOGSTASH\" for \"Type\"") } }
func TestServerByTypeUnauthorized(t *testing.T) { server := testHelper.InvalidHTTPServer(http.StatusUnauthorized) defer server.Close() var httpClient http.Client to := client.Session{ URL: server.URL, UserAgent: &httpClient, } testHelper.Context(t, "Given the need to test a failed Traffic Ops request for \"Logstash\" servers") params := make(url.Values) params.Add("type", "Logstash") _, err := to.ServersByType(params) if err == nil { testHelper.Error(t, "Should not be able to make a request to Traffic Ops") } else { testHelper.Success(t, "Should not be able to make a request to Traffic Ops") } }