github.com/altoros/juju-vmware@v0.0.0-20150312064031-f19ae857ccca/api/backups/package_test.go (about)

     1  // Copyright 2014 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package backups_test
     5  
     6  import (
     7  	"testing"
     8  	"time"
     9  
    10  	gc "gopkg.in/check.v1"
    11  
    12  	"github.com/juju/juju/api/backups"
    13  	httptesting "github.com/juju/juju/api/http/testing"
    14  	apiserverbackups "github.com/juju/juju/apiserver/backups"
    15  	"github.com/juju/juju/apiserver/params"
    16  	jujutesting "github.com/juju/juju/juju/testing"
    17  	stbackups "github.com/juju/juju/state/backups"
    18  	backupstesting "github.com/juju/juju/state/backups/testing"
    19  	coretesting "github.com/juju/juju/testing"
    20  )
    21  
    22  func TestAll(t *testing.T) {
    23  	coretesting.MgoTestPackage(t)
    24  }
    25  
    26  type baseSuite struct {
    27  	jujutesting.JujuConnSuite
    28  	backupstesting.BaseSuite
    29  	client *backups.Client
    30  }
    31  
    32  func (s *baseSuite) SetUpTest(c *gc.C) {
    33  	s.BaseSuite.SetUpTest(c)
    34  	s.JujuConnSuite.SetUpTest(c)
    35  	s.client = backups.NewClient(s.APIState)
    36  }
    37  
    38  func (s *baseSuite) metadataResult() *params.BackupsMetadataResult {
    39  	result := apiserverbackups.ResultFromMetadata(s.Meta)
    40  	return &result
    41  }
    42  
    43  func (s *baseSuite) checkMetadataResult(c *gc.C, result *params.BackupsMetadataResult, meta *stbackups.Metadata) {
    44  	var finished, stored time.Time
    45  	if meta.Finished != nil {
    46  		finished = *meta.Finished
    47  	}
    48  	if meta.Stored() != nil {
    49  		stored = *(meta.Stored())
    50  	}
    51  
    52  	c.Check(result.ID, gc.Equals, meta.ID())
    53  	c.Check(result.Started, gc.Equals, meta.Started)
    54  	c.Check(result.Finished, gc.Equals, finished)
    55  	c.Check(result.Checksum, gc.Equals, meta.Checksum())
    56  	c.Check(result.ChecksumFormat, gc.Equals, meta.ChecksumFormat())
    57  	c.Check(result.Size, gc.Equals, meta.Size())
    58  	c.Check(result.Stored, gc.Equals, stored)
    59  	c.Check(result.Notes, gc.Equals, meta.Notes)
    60  
    61  	c.Check(result.Environment, gc.Equals, meta.Origin.Environment)
    62  	c.Check(result.Machine, gc.Equals, meta.Origin.Machine)
    63  	c.Check(result.Hostname, gc.Equals, meta.Origin.Hostname)
    64  	c.Check(result.Version, gc.Equals, meta.Origin.Version)
    65  }
    66  
    67  type httpSuite struct {
    68  	baseSuite
    69  	httptesting.APIHTTPClientSuite
    70  }
    71  
    72  func (s *httpSuite) SetUpSuite(c *gc.C) {
    73  	s.baseSuite.SetUpSuite(c)
    74  	s.APIHTTPClientSuite.SetUpSuite(c)
    75  }
    76  
    77  func (s *httpSuite) TearDownSuite(c *gc.C) {
    78  	s.APIHTTPClientSuite.TearDownSuite(c)
    79  	s.baseSuite.TearDownSuite(c)
    80  }
    81  
    82  func (s *httpSuite) SetUpTest(c *gc.C) {
    83  	s.baseSuite.SetUpTest(c)
    84  	s.APIHTTPClientSuite.SetUpTest(c)
    85  }
    86  
    87  func (s *httpSuite) TearDownTest(c *gc.C) {
    88  	s.APIHTTPClientSuite.TearDownTest(c)
    89  	s.baseSuite.TearDownTest(c)
    90  }
    91  
    92  func (s *httpSuite) setResponse(c *gc.C, status int, data []byte, ctype string) {
    93  	s.APIHTTPClientSuite.SetResponse(c, status, data, ctype)
    94  	backups.SetHTTP(s.client, &s.FakeClient)
    95  }
    96  
    97  func (s *httpSuite) setJSONSuccess(c *gc.C, result interface{}) {
    98  	s.APIHTTPClientSuite.SetJSONSuccess(c, result)
    99  	backups.SetHTTP(s.client, &s.FakeClient)
   100  }
   101  
   102  func (s *httpSuite) setFailure(c *gc.C, msg string, status int) {
   103  	s.APIHTTPClientSuite.SetFailure(c, msg, status)
   104  	backups.SetHTTP(s.client, &s.FakeClient)
   105  }
   106  
   107  func (s *httpSuite) setError(c *gc.C, msg string, status int) {
   108  	s.APIHTTPClientSuite.SetError(c, msg, status)
   109  	backups.SetHTTP(s.client, &s.FakeClient)
   110  }