Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: third_party/twisted_8_1/twisted/scripts/test/test_mktap.py

Issue 12261012: Remove third_party/twisted_8_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 # Copyright (c) 2008 Twisted Matrix Laboratories.
2 # See LICENSE for details.
3
4 """
5 Tests for L{twisted.scripts.mktap}.
6 """
7
8 import sys
9 try:
10 import pwd, grp
11 except ImportError:
12 pwd = None
13
14 from twisted.trial.unittest import TestCase
15
16 from twisted.scripts.mktap import run, getid
17 from twisted.application.service import IProcess, loadApplication
18 from twisted.test.test_twistd import patchUserDatabase
19
20
21 class RunTests(TestCase):
22 """
23 Tests for L{twisted.scripts.mktap.run}.
24 """
25 def setUp(self):
26 """
27 Save the original value of L{sys.argv} so that tests can change it
28 as necessary.
29 """
30 self.argv = sys.argv[:]
31
32
33 def tearDown(self):
34 """
35 Restore the original value of L{sys.argv}.
36 """
37 sys.argv[:] = self.argv
38
39
40 def _saveConfiguredIDTest(self, argv, uid, gid):
41 """
42 Test that when L{run} is invoked and L{sys.argv} has the given
43 value, the resulting application has the specified UID and GID.
44
45 @type argv: C{list} of C{str}
46 @param argv: The value to which to set L{sys.argv} before calling L{run} .
47
48 @type uid: C{int}
49 @param uid: The expected value for the resulting application's
50 L{IProcess.uid}.
51
52 @type gid: C{int}
53 @param gid: The expected value for the resulting application's
54 L{IProcess.gid}.
55 """
56 sys.argv = argv
57 run()
58 app = loadApplication("ftp.tap", "pickle", None)
59 process = IProcess(app)
60 self.assertEqual(process.uid, uid)
61 self.assertEqual(process.gid, gid)
62
63
64 def test_getNumericID(self):
65 """
66 L{run} extracts numeric UID and GID information from the command
67 line and persists it with the application object.
68 """
69 uid = 1234
70 gid = 4321
71 self._saveConfiguredIDTest(
72 ["mktap", "--uid", str(uid), "--gid", str(gid), "ftp"],
73 uid, gid)
74
75
76 def test_getNameID(self):
77 """
78 L{run} extracts name UID and GID information from the command
79 line and persists it with the application object.
80 """
81 user = "foo"
82 uid = 1234
83 group = "bar"
84 gid = 4321
85 patchUserDatabase(self.patch, user, uid, group, gid)
86 self._saveConfiguredIDTest(
87 ["mktap", "--uid", user, "--gid", group, "ftp"],
88 uid, gid)
89 if pwd is None:
90 test_getNameID.skip = (
91 "Username/UID Group name/GID translation requires pwd and grp "
92 "modules.")
93
94
95
96 class HelperTests(TestCase):
97 """
98 Tests for miscellaneous utility functions related to mktap.
99 """
100 def test_getid(self):
101 """
102 L{getid} returns a two-tuple of integers giving the numeric values of
103 the strings it is passed.
104 """
105 uid = 1234
106 gid = 4321
107 self.assertEqual(getid(str(uid), str(gid)), (uid, gid))
OLDNEW
« no previous file with comments | « third_party/twisted_8_1/twisted/scripts/test/__init__.py ('k') | third_party/twisted_8_1/twisted/scripts/tkunzip.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698