github.com/AlekSi/nut@v0.3.1-0.20130607203728-cce108d4135e/integration_test/remote_test.go (about)

     1  package integration_test
     2  
     3  import (
     4  	"io/ioutil"
     5  	"net/http"
     6  	"net/url"
     7  	"os"
     8  	"strings"
     9  	"testing"
    10  
    11  	"github.com/AlekSi/nut/nut"
    12  	. "launchpad.net/gocheck"
    13  )
    14  
    15  type R struct{}
    16  
    17  var _ = Suite(&R{})
    18  
    19  func (*R) SetUpTest(c *C) {
    20  	if testing.Short() {
    21  		c.Skip("-short passed")
    22  		return
    23  	}
    24  
    25  	setupTest(c)
    26  
    27  	server := os.Getenv("GONUTS_IO_SERVER")
    28  	u, err := url.Parse(server + "/debug/prepare_test")
    29  	c.Assert(err, IsNil)
    30  	u.RawQuery = "token=" + main.Config.Token // importing package main... what a hack
    31  	res, err := http.Get(u.String())
    32  	c.Assert(err, IsNil)
    33  	body, err := ioutil.ReadAll(res.Body)
    34  	c.Assert(err, IsNil)
    35  	res.Body.Close()
    36  	c.Assert(res.StatusCode, Equals, 200, Commentf("%s", body))
    37  }
    38  
    39  func (r *R) TearDownTest(c *C) {
    40  	r.SetUpTest(c)
    41  }
    42  
    43  func (*R) TestPublishGet(c *C) {
    44  	_, stderr := runNut(c, TestNut1, "pack -v")
    45  	c.Check(strings.HasSuffix(stderr, `test_nut1-0.0.1.nut created.`), Equals, true)
    46  	gitNoDiff(c, TestNut1)
    47  
    48  	_, stderr = runNut(c, TestNut2, "pack -v")
    49  	c.Check(strings.HasSuffix(stderr, `test_nut2-0.0.2.nut created.`), Equals, true)
    50  	gitNoDiff(c, TestNut2)
    51  
    52  	_, stderr = runNut(c, TestNut3, "pack -v")
    53  	c.Check(strings.HasSuffix(stderr, `test_nut3-0.0.3.nut created.`), Equals, true)
    54  	gitNoDiff(c, TestNut3)
    55  
    56  	_, stderr = runNut(c, TestNut1, "publish -v test_nut1-0.0.1.nut")
    57  	c.Check(strings.HasSuffix(stderr, `Nut debug/test_nut1 version 0.0.1 published.`), Equals, true)
    58  	gitNoDiff(c, TestNut1)
    59  
    60  	_, stderr = runNut(c, TestNut1, "publish -v test_nut1-0.0.1.nut", 1)
    61  	c.Check(strings.HasSuffix(stderr, `Nut debug/test_nut1 version 0.0.1 already exists.`), Equals, true)
    62  	gitNoDiff(c, TestNut1)
    63  
    64  	_, stderr = runNut(c, TestNut2, "publish -v test_nut2-0.0.2.nut")
    65  	c.Check(strings.HasSuffix(stderr, `Nut debug/test_nut2 version 0.0.2 published.`), Equals, true)
    66  	gitNoDiff(c, TestNut2)
    67  
    68  	_, stderr = runNut(c, TestNut3, "publish -v test_nut3-0.0.3.nut")
    69  	c.Check(strings.HasSuffix(stderr, `Nut debug/test_nut3 version 0.0.3 published.`), Equals, true)
    70  	gitNoDiff(c, TestNut3)
    71  
    72  	_, stderr = runNut(c, "", "get -v debug/test_nut3/0.0.3")
    73  	c.Check(strings.Count(stderr, "gonuts.io/test_nut1-0.0.1.nut"), Equals, 1)
    74  	c.Check(strings.Count(stderr, "gonuts.io/test_nut2-0.0.2.nut"), Equals, 1)
    75  	c.Check(strings.Count(stderr, "gonuts.io/test_nut3-0.0.3.nut"), Equals, 1)
    76  	c.Check(strings.HasSuffix(stderr, `gonuts.io/debug/test_nut3`), Equals, true)
    77  }