Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1752)

Delta Between Two Patch Sets: utils/sudo_test.go

Issue 52950043: Fix the creation of ~/.juju/ssh to be user owned
Left Patch Set: Created 11 years, 2 months ago
Right Patch Set: Fix the creation of ~/.juju/ssh to be user owned Created 11 years, 2 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « utils/sudo.go ('k') | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 // Copyright 2013 Canonical Ltd. 1 // Copyright 2013 Canonical Ltd.
2 // Licensed under the AGPLv3, see LICENCE file for details. 2 // Licensed under the AGPLv3, see LICENCE file for details.
3 3
4 package utils_test 4 package utils_test
5 5
6 import ( 6 import (
7 "os" 7 "os"
8 "os/user" 8 "os/user"
9 "path/filepath" 9 "path/filepath"
10 10
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 err := utils.MkdirForUser(dir, 0755) 89 err := utils.MkdirForUser(dir, 0755)
90 c.Assert(err, gc.IsNil) 90 c.Assert(err, gc.IsNil)
91 c.Assert(dir, jc.IsDirectory) 91 c.Assert(dir, jc.IsDirectory)
92 } 92 }
93 93
94 func (s *sudoSuite) TestMkDirForUserWithError(c *gc.C) { 94 func (s *sudoSuite) TestMkDirForUserWithError(c *gc.C) {
95 s.setupBadSudoUid() 95 s.setupBadSudoUid()
96 dir := filepath.Join(c.MkDir(), "new-dir") 96 dir := filepath.Join(c.MkDir(), "new-dir")
97 err := utils.MkdirForUser(dir, 0755) 97 err := utils.MkdirForUser(dir, 0755)
98 c.Assert(err, gc.ErrorMatches, `invalid value "omg" for SUDO_UID`) 98 c.Assert(err, gc.ErrorMatches, `invalid value "omg" for SUDO_UID`)
99 » c.Assert(dir, jc.DoesNotExist) 99 » // The directory is still there.
100 » c.Assert(dir, jc.IsDirectory)
100 } 101 }
101 102
102 func (s *sudoSuite) TestMkDirAllForUserAsUser(c *gc.C) { 103 func (s *sudoSuite) TestMkDirAllForUserAsUser(c *gc.C) {
103 dir := filepath.Join(c.MkDir(), "new-dir", "and-another") 104 dir := filepath.Join(c.MkDir(), "new-dir", "and-another")
104 err := utils.MkdirAllForUser(dir, 0755) 105 err := utils.MkdirAllForUser(dir, 0755)
105 c.Assert(err, gc.IsNil) 106 c.Assert(err, gc.IsNil)
106 c.Assert(dir, jc.IsDirectory) 107 c.Assert(dir, jc.IsDirectory)
107 } 108 }
108 109
109 func (s *sudoSuite) TestMkDirAllForUserRoot(c *gc.C) { 110 func (s *sudoSuite) TestMkDirAllForUserRoot(c *gc.C) {
110 s.setupGoodSudoUid(c) 111 s.setupGoodSudoUid(c)
111 112
112 dir := filepath.Join(c.MkDir(), "new-dir", "and-another") 113 dir := filepath.Join(c.MkDir(), "new-dir", "and-another")
113 err := utils.MkdirAllForUser(dir, 0755) 114 err := utils.MkdirAllForUser(dir, 0755)
114 c.Assert(err, gc.IsNil) 115 c.Assert(err, gc.IsNil)
115 c.Assert(dir, jc.IsDirectory) 116 c.Assert(dir, jc.IsDirectory)
116 } 117 }
117 118
118 func (s *sudoSuite) TestMkDirAllForUserWithError(c *gc.C) { 119 func (s *sudoSuite) TestMkDirAllForUserWithError(c *gc.C) {
119 s.setupBadSudoUid() 120 s.setupBadSudoUid()
120 121
121 base := c.MkDir() 122 base := c.MkDir()
122 dir := filepath.Join(base, "new-dir", "and-another") 123 dir := filepath.Join(base, "new-dir", "and-another")
123 err := utils.MkdirAllForUser(dir, 0755) 124 err := utils.MkdirAllForUser(dir, 0755)
124 c.Assert(err, gc.ErrorMatches, `invalid value "omg" for SUDO_UID`) 125 c.Assert(err, gc.ErrorMatches, `invalid value "omg" for SUDO_UID`)
125 » c.Assert(dir, jc.DoesNotExist) 126 » // The directory is still there.
126 » c.Assert(filepath.Dir(dir), jc.DoesNotExist) 127 » c.Assert(dir, jc.IsDirectory)
127 } 128 }
128 129
129 func (s *sudoSuite) TestChownToUserNotRoot(c *gc.C) { 130 func (s *sudoSuite) TestChownToUserNotRoot(c *gc.C) {
130 // Just in case someone runs the suite as root, we don't want to fail. 131 // Just in case someone runs the suite as root, we don't want to fail.
131 s.PatchValue(&utils.CheckIfRoot, func() bool { return false }) 132 s.PatchValue(&utils.CheckIfRoot, func() bool { return false })
132 133
133 nonExistant := filepath.Join(c.MkDir(), "non-existant") 134 nonExistant := filepath.Join(c.MkDir(), "non-existant")
134 err := utils.ChownToUser(nonExistant) 135 err := utils.ChownToUser(nonExistant)
135 c.Assert(err, gc.IsNil) 136 c.Assert(err, gc.IsNil)
136 } 137 }
137 138
138 func (s *sudoSuite) TestChownToUserBadUid(c *gc.C) { 139 func (s *sudoSuite) TestChownToUserBadUid(c *gc.C) {
139 s.setupBadSudoUid() 140 s.setupBadSudoUid()
140 err := utils.ChownToUser(c.MkDir()) 141 err := utils.ChownToUser(c.MkDir())
141 c.Assert(err, gc.ErrorMatches, `invalid value "omg" for SUDO_UID`) 142 c.Assert(err, gc.ErrorMatches, `invalid value "omg" for SUDO_UID`)
142 } 143 }
143 144
144 func (s *sudoSuite) TestChownToUser(c *gc.C) { 145 func (s *sudoSuite) TestChownToUser(c *gc.C) {
145 s.setupGoodSudoUid(c) 146 s.setupGoodSudoUid(c)
146 err := utils.ChownToUser(c.MkDir(), c.MkDir()) 147 err := utils.ChownToUser(c.MkDir(), c.MkDir())
147 c.Assert(err, gc.IsNil) 148 c.Assert(err, gc.IsNil)
148 } 149 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b