issues

Github, Jira, Gitlab issues from Plan 9's acme
Log | Files | Refs | README | LICENSE

http_test.go (1368B)


      1 package jira
      2 
      3 import (
      4 	"io"
      5 	"net/http"
      6 	"net/url"
      7 	"path"
      8 	"testing"
      9 	"testing/fstest"
     10 )
     11 
     12 func handleComment(w http.ResponseWriter, req *http.Request) {
     13 	id := path.Base(req.URL.Path)
     14 	http.ServeFile(w, req, "testdata/comment/"+id)
     15 }
     16 
     17 func TestGet(t *testing.T) {
     18 	srv := newFakeServer("testdata")
     19 	defer srv.Close()
     20 	u, err := url.Parse(srv.URL)
     21 	if err != nil {
     22 		t.Fatal(err)
     23 	}
     24 	client := &Client{APIRoot: u}
     25 
     26 	project := "TEST"
     27 	issue := "TEST-1"
     28 	comment := "69"
     29 	if _, err := client.Project(project); err != nil {
     30 		t.Fatalf("get project %s: %v", project, err)
     31 	}
     32 	if _, err := client.Issues(project); err != nil {
     33 		t.Fatalf("get %s issues: %v", project, err)
     34 	}
     35 	if _, err := client.Issue(issue); err != nil {
     36 		t.Fatalf("get issue %s: %v", issue, err)
     37 	}
     38 	c, err := client.Comment(issue, comment)
     39 	if err != nil {
     40 		t.Fatalf("get comment %s from %s: %v", comment, issue, err)
     41 	}
     42 	if c.ID != comment {
     43 		t.Fatalf("wanted comment id %s, got %s", comment, c.ID)
     44 	}
     45 
     46 	fsys := &FS{Client: client}
     47 	f, err := fsys.Open("TEST/1/69")
     48 	if err != nil {
     49 		t.Fatal(err)
     50 	}
     51 	if _, err := f.Stat(); err != nil {
     52 		t.Fatal(err)
     53 	}
     54 	if _, err := io.Copy(io.Discard, f); err != nil {
     55 		t.Fatal(err)
     56 	}
     57 	f.Close()
     58 
     59 	expected := []string{
     60 		"TEST",
     61 		"TEST/1",
     62 		"TEST/1/issue",
     63 		"TEST/1/69",
     64 	}
     65 	if err := fstest.TestFS(fsys, expected...); err != nil {
     66 		t.Error(err)
     67 	}
     68 }