package mytinytodo import ( "net/http" "net/http/httptest" "os" "testing" "time" ) func TestNewBuffer(t *testing.T) { b, s := mockBuffer(t) defer b.Close() defer s.Close() } func TestBufferEnqueue(t *testing.T) { t.Fatal("not implemented") } func TestBufferDequeue(t *testing.T) { t.Fatal("not implemented") } func TestBufferRefreshLocal(t *testing.T) { t.Fatal("not implemented") } func TestBufferNotDoneCallback(t *testing.T) { b := &Buffer{ done: make(chan struct{}), interval: time.Millisecond * 70, } called := make(chan struct{}) go b.notDoneCallback(func() { called <- struct{}{} }) <-called close(b.done) } func mockBuffer(t *testing.T) (*Buffer, *httptest.Server) { srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { })) osArgsWas := os.Args[:] os.Args = []string{"skip", "-remote", srv.URL, "-p", ""} defer func() { os.Args = osArgsWas[:] }() config, err := NewConfig() if err != nil { t.Fatalf("cannot get new config: %v", err) } buff, err := NewBuffer(config) if err != nil { t.Fatalf("cannot get new buffer: %v", err) } return buff, srv }