func TestDataCopySubscriptionsForUserAsJSON(t *testing.T) { pool := newConnPool(t) userID, err := data.CreateUser(pool, newUser()) if err != nil { t.Fatal(err) } buffer := &bytes.Buffer{} err = data.CopySubscriptionsForUserAsJSON(pool, buffer, userID) if err != nil { t.Fatalf("Failed when no subscriptions: %v", err) } err = data.InsertSubscription(pool, userID, "http://foo") if err != nil { t.Fatal(err) } buffer.Reset() err = data.CopySubscriptionsForUserAsJSON(pool, buffer, userID) if err != nil { t.Fatal(err) } if bytes.Contains(buffer.Bytes(), []byte("foo")) != true { t.Errorf("Expected %v, got %v", true, bytes.Contains(buffer.Bytes(), []byte("foo"))) } }
func GetFeedsHandler(w http.ResponseWriter, req *http.Request, env *environment) { w.Header().Set("Content-Type", "application/json") if err := data.CopySubscriptionsForUserAsJSON(env.pool, w, env.user.ID.Value); err != nil { http.Error(w, "Internal server error", http.StatusInternalServerError) } }