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

     1  package main_test
     2  
     3  import (
     4  	. "."
     5  	. "launchpad.net/gocheck"
     6  )
     7  
     8  type G struct {
     9  	old string
    10  }
    11  
    12  var _ = Suite(&G{})
    13  
    14  func (g *G) SetUpSuite(*C) {
    15  	g.old = NutImportPrefixes["gonuts.io"]
    16  	NutImportPrefixes["gonuts.io"] = "server"
    17  	NutImportPrefixes["express42.com"] = "express42.com"
    18  }
    19  
    20  func (g *G) TearDownSuite(*C) {
    21  	NutImportPrefixes["gonuts.io"] = g.old
    22  	delete(NutImportPrefixes, "express42.com")
    23  }
    24  
    25  func (*G) TestParseArg(c *C) {
    26  	data := [][3]string{
    27  		// short style
    28  		{"aleksi/test_nut1", "http://server/aleksi/test_nut1", "gonuts.io"},
    29  		{"aleksi/test_nut1/0.0.1", "http://server/aleksi/test_nut1/0.0.1", "gonuts.io"},
    30  
    31  		// import path style
    32  		{"gonuts.io/aleksi/test_nut1", "http://server/aleksi/test_nut1", "gonuts.io"},
    33  		{"gonuts.io/aleksi/test_nut1/0.0.1", "http://server/aleksi/test_nut1/0.0.1", "gonuts.io"},
    34  		{"express42.com/nuts/aleksi/test_nut1", "http://express42.com/nuts/aleksi/test_nut1", "express42.com"},
    35  		{"express42.com/nuts/aleksi/test_nut1/0.0.1", "http://express42.com/nuts/aleksi/test_nut1/0.0.1", "express42.com"},
    36  
    37  		// full URL - as is
    38  		{"http://www.gonuts.io/aleksi/test_nut1", "http://www.gonuts.io/aleksi/test_nut1", "gonuts.io"},
    39  		{"http://www.gonuts.io/aleksi/test_nut1/0.0.1", "http://www.gonuts.io/aleksi/test_nut1/0.0.1", "gonuts.io"},
    40  		{"http://localhost:8080/aleksi/test_nut1-0.0.1.nut", "http://localhost:8080/aleksi/test_nut1-0.0.1.nut", "localhost"},
    41  		{"http://example.com/nuts/test_nut1-0.0.1.nut", "http://example.com/nuts/test_nut1-0.0.1.nut", "example.com"},
    42  		{"https://example.com/nuts/test_nut1-0.0.1.nut", "https://example.com/nuts/test_nut1-0.0.1.nut", "example.com"},
    43  	}
    44  
    45  	for _, d := range data {
    46  		u, prefix := ParseArg(d[0])
    47  		c.Check(u.String(), Equals, d[1])
    48  		c.Check(prefix, Equals, d[2])
    49  	}
    50  }
    51  
    52  func (*G) TestNutImports(c *C) {
    53  	actual := NutImports([]string{"fmt", "log/syslog", "github.com/aleksi/nut", "gonuts.io/aleksi/test_nut1"})
    54  	c.Check(actual, DeepEquals, []string{"gonuts.io/aleksi/test_nut1"})
    55  }