func (s *SnapTestSuite) TestUbuntuStoreRepositoryDetails(c *C) { mockServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { // no store ID by default storeID := r.Header.Get("X-Ubuntu-Store") c.Check(storeID, Equals, "") c.Check(filepath.Base(r.URL.String()), Equals, funkyAppName+"."+funkyAppOrigin) io.WriteString(w, MockDetailsJSON) })) c.Assert(mockServer, NotNil) defer mockServer.Close() var err error storeDetailsURI, err = url.Parse(mockServer.URL + "/details/") c.Assert(err, IsNil) snap := NewUbuntuStoreSnapRepository() c.Assert(snap, NotNil) // the actual test results, err := snap.Details(funkyAppName, funkyAppOrigin) c.Assert(err, IsNil) c.Assert(results, HasLen, 1) c.Check(results[0].Name(), Equals, funkyAppName) c.Check(results[0].Origin(), Equals, funkyAppOrigin) c.Check(results[0].Version(), Equals, "42") c.Check(results[0].Hash(), Equals, "5364253e4a988f4f5c04380086d542f410455b97d48cc6c69ca2a5877d8aef2a6b2b2f83ec4f688cae61ebc8a6bf2cdbd4dbd8f743f0522fc76540429b79df42") c.Check(results[0].Date().String(), Equals, "2015-04-15 18:30:16 +0000 UTC") c.Check(results[0].DownloadSize(), Equals, int64(65375)) c.Check(results[0].Channel(), Equals, "edge") }
func (s *SnapTestSuite) TestUbuntuStoreRepositoryNoDetails(c *C) { mockServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { c.Assert(strings.HasSuffix(r.URL.String(), "no-such-pkg"), Equals, true) w.WriteHeader(404) io.WriteString(w, MockNoDetailsJSON) })) c.Assert(mockServer, NotNil) defer mockServer.Close() var err error storeDetailsURI, err = url.Parse(mockServer.URL + "/details/") c.Assert(err, IsNil) snap := NewUbuntuStoreSnapRepository() c.Assert(snap, NotNil) // the actual test results, err := snap.Details("no-such-pkg", "") c.Assert(results, HasLen, 0) c.Assert(err, NotNil) }