//////////////////////////////////////////////////////////////////////////////// // SERVICES //////////////////////////////////////////////////////////////////////////////// func TestSetService(t *testing.T) { if skip { t.SkipNow() } if err := cluster.SetService(&testService1); err != nil { t.Errorf("Failed to SET service - %v", err) t.FailNow() } service, err := cluster.GetService(testService1.Id) if err != nil { t.Error(err) } if service.Host != testService1.Host { t.Errorf("Read service differs from written service") } }
func TestNoneSetService(t *testing.T) { config.ClusterConnection = "none://" cluster.Init() if err := cluster.SetService(&testService1); err != nil { t.Errorf("Failed to SET service - %v", err) t.FailNow() } service, err := cluster.GetService(testService1.Id) if err != nil { t.Error(err) } if service.Host != testService1.Host { t.Errorf("Read service differs from written service") } }
//////////////////////////////////////////////////////////////////////////////// // SERVERS //////////////////////////////////////////////////////////////////////////////// func TestNoneSetServer(t *testing.T) { cluster.SetService(&testService1) if err := cluster.SetServer(testService1.Id, &testServer1); err != nil { t.Errorf("Failed to SET server - %v", err) t.FailNow() } service, err := cluster.GetService(testService1.Id) if err != nil { t.Error(err) } svc := testService1 svc.Servers = append(svc.Servers, testServer1) if service.Servers[0].Host != svc.Servers[0].Host { t.Errorf("Read service differs from written service") } }
// Create a service func postService(rw http.ResponseWriter, req *http.Request) { // /services service, err := parseReqService(req) if err != nil { writeError(rw, req, err, http.StatusBadRequest) return } // idempotent additions (don't update service on post) if svc, _ := common.GetService(service.Id); svc != nil { writeBody(rw, req, service, http.StatusOK) return } // save to cluster err = cluster.SetService(service) if err != nil { writeError(rw, req, err, http.StatusInternalServerError) return } writeBody(rw, req, service, http.StatusOK) }