~juju-qa/ubuntu/yakkety/juju/2.0-rc3-again

« back to all changes in this revision

Viewing changes to src/launchpad.net/juju-core/environs/jujutest/metadata_test.go

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2013-04-24 22:34:47 UTC
  • Revision ID: package-import@ubuntu.com-20130424223447-f0qdji7ubnyo0s71
Tags: upstream-1.10.0.1
ImportĀ upstreamĀ versionĀ 1.10.0.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package jujutest
 
2
 
 
3
import (
 
4
        "io/ioutil"
 
5
        . "launchpad.net/gocheck"
 
6
        "net/http"
 
7
        "net/url"
 
8
)
 
9
 
 
10
type metadataSuite struct{}
 
11
 
 
12
var _ = Suite(&metadataSuite{})
 
13
 
 
14
func (s *metadataSuite) TestVirtualRoundTripper(c *C) {
 
15
        aContent := "a-content"
 
16
        vrt := NewVirtualRoundTripper([]FileContent{
 
17
                {"a", aContent},
 
18
                {"b", "b-content"},
 
19
        })
 
20
        c.Assert(vrt, NotNil)
 
21
        req := &http.Request{URL: &url.URL{Path: "a"}}
 
22
        resp, err := vrt.RoundTrip(req)
 
23
        c.Assert(err, IsNil)
 
24
        c.Assert(resp, NotNil)
 
25
        content, err := ioutil.ReadAll(resp.Body)
 
26
        c.Assert(string(content), Equals, aContent)
 
27
        c.Assert(resp.ContentLength, Equals, int64(len(aContent)))
 
28
        c.Assert(resp.StatusCode, Equals, http.StatusOK)
 
29
        c.Assert(resp.Status, Equals, "200 OK")
 
30
}
 
31
 
 
32
func (s *metadataSuite) TestVirtualRoundTripperMissing(c *C) {
 
33
        vrt := NewVirtualRoundTripper([]FileContent{
 
34
                {"a", "a-content"},
 
35
        })
 
36
        c.Assert(vrt, NotNil)
 
37
        req := &http.Request{URL: &url.URL{Path: "no-such-file"}}
 
38
        resp, err := vrt.RoundTrip(req)
 
39
        c.Assert(err, IsNil)
 
40
        c.Assert(resp, NotNil)
 
41
        content, err := ioutil.ReadAll(resp.Body)
 
42
        c.Assert(string(content), Equals, "")
 
43
        c.Assert(resp.ContentLength, Equals, int64(0))
 
44
        c.Assert(resp.StatusCode, Equals, http.StatusNotFound)
 
45
        c.Assert(resp.Status, Equals, "404 Not Found")
 
46
}