Skip to content

Commit 3a00d67

Browse files
committed
Test save_whitelist()
* Test save_whitelist failure scenarios
1 parent 2d23e70 commit 3a00d67

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

webapp/tests/test_whitelist.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import errno
2+
import mock
13
import os
24
import pickle
35

@@ -7,6 +9,8 @@
79
from django.core.urlresolvers import reverse
810
from django.test import TestCase
911

12+
from graphite.whitelist.views import save_whitelist
13+
1014
class WhitelistTester(TestCase):
1115
settings.WHITELIST_FILE = os.path.join(DATA_DIR, 'lists/whitelist')
1216

@@ -93,3 +97,14 @@ def test_whitelist_remove_missing(self):
9397
response = self.client.get(url)
9498
self.assertEqual(response.status_code, 200)
9599
self.assertEqual(response.content, "a.b.c.d\ne.f.g.h")
100+
101+
def test_save_whitelist(self):
102+
self.addCleanup(self.wipe_whitelist)
103+
self.assertEqual(save_whitelist({'a.b.c.d','e.f.g.h'}), None)
104+
105+
@mock.patch('os.rename')
106+
def test_save_whitelist_rename_failure(self, rename):
107+
self.addCleanup(self.wipe_whitelist)
108+
rename.side_effect = OSError(errno.EPERM, 'Operation not permitted')
109+
with self.assertRaises(OSError):
110+
save_whitelist({'a.b.c.d','e.f.g.h'})

0 commit comments

Comments
 (0)