~ubuntu-branches/ubuntu/saucy/juju-core/saucy-proposed

« back to all changes in this revision

Viewing changes to src/launchpad.net/juju-core/environs/azure/certfile_test.go

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2013-07-11 17:18:27 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20130711171827-vjqkg40r0dlf7ys2
Tags: 1.11.2-0ubuntu1
* New upstream release.
* Make juju-core the default juju (LP: #1190634):
  - d/control: Add virtual package juju -> juju-core.
  - d/juju-core.postinst.in: Bump priority of alternatives over that of
    python juju packages.
* Enable for all architectures (LP: #1172505):
  - d/control: Version BD on golang-go to >= 2:1.1.1 to ensure CGO
    support for non-x86 archs, make juju-core Arch: any.
  - d/README.source: Dropped - no longer required.
* d/watch: Updated for new upstream tarball naming.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright 2013 Canonical Ltd.
 
2
// Licensed under the AGPLv3, see LICENCE file for details.
 
3
 
 
4
package azure
 
5
 
 
6
import (
 
7
        "io/ioutil"
 
8
        . "launchpad.net/gocheck"
 
9
        "launchpad.net/juju-core/testing/checkers"
 
10
        "os"
 
11
)
 
12
 
 
13
type CertFileSuite struct{}
 
14
 
 
15
var _ = Suite(new(CertFileSuite))
 
16
 
 
17
func (CertFileSuite) TestPathReturnsFullPath(c *C) {
 
18
        certFile := tempCertFile{tempDir: "/tmp/dir", filename: "file"}
 
19
        c.Check(certFile.Path(), Equals, "/tmp/dir/file")
 
20
}
 
21
 
 
22
func (CertFileSuite) TestNewTempCertFileCreatesFile(c *C) {
 
23
        certData := []byte("content")
 
24
        certFile, err := newTempCertFile(certData)
 
25
        c.Assert(err, IsNil)
 
26
        defer certFile.Delete()
 
27
 
 
28
        storedData, err := ioutil.ReadFile(certFile.Path())
 
29
        c.Assert(err, IsNil)
 
30
 
 
31
        c.Check(storedData, DeepEquals, certData)
 
32
}
 
33
 
 
34
func (CertFileSuite) TestNewTempCertFileRestrictsAccessToFile(c *C) {
 
35
        certFile, err := newTempCertFile([]byte("content"))
 
36
        c.Assert(err, IsNil)
 
37
        defer certFile.Delete()
 
38
        info, err := os.Stat(certFile.Path())
 
39
        c.Assert(err, IsNil)
 
40
        c.Check(info.Mode().Perm(), Equals, os.FileMode(0600))
 
41
}
 
42
 
 
43
func (CertFileSuite) TestNewTempCertFileRestrictsAccessToDir(c *C) {
 
44
        certFile, err := newTempCertFile([]byte("content"))
 
45
        c.Assert(err, IsNil)
 
46
        defer certFile.Delete()
 
47
        info, err := os.Stat(certFile.tempDir)
 
48
        c.Assert(err, IsNil)
 
49
        c.Check(info.Mode().Perm(), Equals, os.FileMode(0700))
 
50
}
 
51
 
 
52
func (CertFileSuite) TestDeleteRemovesFile(c *C) {
 
53
        certFile, err := newTempCertFile([]byte("content"))
 
54
        c.Assert(err, IsNil)
 
55
        certFile.Delete()
 
56
        _, err = os.Open(certFile.Path())
 
57
        c.Assert(err, checkers.Satisfies, os.IsNotExist)
 
58
}
 
59
 
 
60
func (CertFileSuite) TestDeleteIsIdempotent(c *C) {
 
61
        certFile, err := newTempCertFile([]byte("content"))
 
62
        c.Assert(err, IsNil)
 
63
        certFile.Delete()
 
64
        certFile.Delete()
 
65
        _, err = os.Open(certFile.Path())
 
66
        c.Assert(err, checkers.Satisfies, os.IsNotExist)
 
67
}