annotate tests/testBranches.py @ 103:8a9fdf02bf5b

Don't allow a GET request to modify the server state
author Benoît Allard <benoit.allard@greenbone.net>
date Tue, 14 Oct 2014 10:36:12 +0200
parents c00f20bd90ba
children
rev   line source
0
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
1 # -*- encoding: utf-8 -*-
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
2 # Description:
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
3 # Short Description
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
4 #
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
5 # Authors:
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
6 # BenoƮt Allard <benoit.allard@greenbone.net>
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
7 #
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
8 # Copyright:
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
9 # Copyright (C) 2014 Greenbone Networks GmbH
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
10 #
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
11 # This program is free software; you can redistribute it and/or
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
12 # modify it under the terms of the GNU General Public License
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
13 # as published by the Free Software Foundation; either version 2
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
14 # of the License, or (at your option) any later version.
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
15 #
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
16 # This program is distributed in the hope that it will be useful,
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
19 # GNU General Public License for more details.
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
20 #
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
21 # You should have received a copy of the GNU General Public License
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
22 # along with this program; if not, write to the Free Software
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
23 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
24
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
25 from .utils import TestCase
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
26
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
27 class TestBranches(TestCase):
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
28
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
29 def testAddBranch(self):
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
30 rv = self.createDoc('Title', 'Type')
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
31 self.assertEqual(rv.status_code, 200)
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
32 rv = self.app.post('/producttree/create')
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
33 rv = self.app.get('/producttree/branch/add')
79
2c7786d7d14e Fix broken test
Benoît Allard <benoit.allard@greenbone.net>
parents: 0
diff changeset
34 rv = self.app.post('/producttree/branch/add', data=dict(type="Vendor", name="SecPod", parent=""))
0
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
35
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
36 def testAddTwoBranch(self):
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
37 rv = self.createDoc('Title', 'Type')
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
38 self.assertEqual(rv.status_code, 200)
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
39 rv = self.app.post('/producttree/create')
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
40 rv = self.app.get('/producttree/branch/add')
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
41 rv = self.app.post('/producttree/branch/add', data=dict(type="Vendor", name="SecPod", parent=""))
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
42 rv = self.app.get('/producttree/branch/add')
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
43 self._assertIn('<option value="0"', rv)
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
44 rv = self.app.post('/producttree/branch/add', data=dict(type="Product Name", name="Saner", parent="0"), follow_redirects=True)
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
45 self._assertIn('<a href="/producttree/branch/0/0/edit">edit</a>', rv)
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
46
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
47 def testEditBranch(self):
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
48 self.createDoc('Title', 'Type')
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
49 rv = self.app.post('/producttree/create', follow_redirects=True)
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
50 rv = self.app.post('/producttree/branch/add', data=dict(type="Vendor", name="SecPod", parent=""))
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
51 rv = self.app.get('/producttree/branch/0/edit')
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
52 rv = self.app.post('/producttree/branch/add', data=dict(type="Product Name", name="Saner", parent="0"))
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
53 rv = self.app.get('/producttree/branch/0/0/edit')
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
54 rv = self.app.post('/producttree/branch/0/0/edit', data=dict(type="Vendor", name="Other", parent=""), follow_redirects=True)
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
55 self._assertIn('<a href="/producttree/branch/1/edit">edit</a>', rv)
4a9f23230eba Initial Release
Benoît Allard <benoit.allard@greenbone.net>
parents:
diff changeset
56
80
c00f20bd90ba Allow deletion of (orphaned) Branches
Benoît Allard <benoit.allard@greenbone.net>
parents: 79
diff changeset
57 def testDeleteBranch(self):
c00f20bd90ba Allow deletion of (orphaned) Branches
Benoît Allard <benoit.allard@greenbone.net>
parents: 79
diff changeset
58 rv = self.createDoc('Title', 'Type')
c00f20bd90ba Allow deletion of (orphaned) Branches
Benoît Allard <benoit.allard@greenbone.net>
parents: 79
diff changeset
59 self.assertEqual(rv.status_code, 200)
c00f20bd90ba Allow deletion of (orphaned) Branches
Benoît Allard <benoit.allard@greenbone.net>
parents: 79
diff changeset
60 rv = self.app.post('/producttree/create')
c00f20bd90ba Allow deletion of (orphaned) Branches
Benoît Allard <benoit.allard@greenbone.net>
parents: 79
diff changeset
61 rv = self.app.get('/producttree/branch/add')
c00f20bd90ba Allow deletion of (orphaned) Branches
Benoît Allard <benoit.allard@greenbone.net>
parents: 79
diff changeset
62 rv = self.app.post('/producttree/branch/add', data=dict(type="Vendor", name="SecPod", parent=""))
c00f20bd90ba Allow deletion of (orphaned) Branches
Benoît Allard <benoit.allard@greenbone.net>
parents: 79
diff changeset
63 rv = self.app.post('/producttree/branch/0/del', follow_redirects=True)
c00f20bd90ba Allow deletion of (orphaned) Branches
Benoît Allard <benoit.allard@greenbone.net>
parents: 79
diff changeset
64 self.assertEqual(rv.status_code, 200)
c00f20bd90ba Allow deletion of (orphaned) Branches
Benoît Allard <benoit.allard@greenbone.net>
parents: 79
diff changeset
65

http://farol.wald.intevation.org