view tests/testProducts.py @ 18:d547b6a0038e

Add more and more error handling in the /new page.
author Benoît Allard <benoit.allard@greenbone.net>
date Tue, 30 Sep 2014 16:27:42 +0200
parents 4a9f23230eba
children
line wrap: on
line source
# -*- encoding: utf-8 -*-
# Description:
# Test suites to test the ProductTree
#
# Authors:
# BenoƮt Allard <benoit.allard@greenbone.net>
#
# Copyright:
# Copyright (C) 2014 Greenbone Networks GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

from .utils import TestCase

from farol.session import CVRFs

class TestBranches(TestCase):

    def testCreateProduct(self):
        self.createDoc('Title', 'Type')
        self.app.post('/producttree/create', follow_redirects=True)
        self.app.get('/producttree/product/add')
        self.app.post('/producttree/product/add', data=dict(name="Name", productid="1131", cpe="", parent_branch="", parent_relationship=""))

    def testCreateProductInTree(self):
        rv = self.createDoc('Title', 'Type')
        self.assertEqual(rv.status_code, 200)
        self.app.post('/producttree/create')
        self.assertFalse(CVRFs[self.id]._producttree is None)
        self.app.get('/producttree/branch/add')
        self.app.post('/producttree/branch/add', data=dict(type="Vendor", name="SecPod", parent=""))
        self.app.get('/producttree/product/add')
        self.app.post('/producttree/product/add', data=dict(name="Name", productid="1131", cpe="", parent_branch="0", parent_relationship=""))
        self.assertEqual(len(CVRFs[self.id]._producttree._products), 1)
        prod = CVRFs[self.id]._producttree._products[0]
        self.assertEqual(prod._parent.getPath(), ())

    def testInsertProductInTree(self):
        rv = self.createDoc('Title', 'Type')
        self.assertEqual(rv.status_code, 200)
        self.app.post('/producttree/create')
        self.assertFalse(CVRFs[self.id]._producttree is None)
        self.app.get('/producttree/product/add')
        rv = self.app.post('/producttree/product/add', data=dict(name="Name", productid="1131", cpe="", parent_branch="", parent_relationship=""))
        self.assertEqual(rv.status_code, 302)
        self.app.get('/producttree/branch/add')
        rv = self.app.post('/producttree/branch/add', data=dict(type="Vendor", name="SecPod", parent=""))
        self.assertEqual(rv.status_code, 302)
        self.app.get('/producttree/product/1131/edit')
        rv = self.app.post('/producttree/product/1131/edit', data=dict(name="Name", productid="1131", cpe="", parent_branch="0", parent_relationship=""))
        self.assertEqual(rv.status_code, 302)
        rv = self.app.post('/producttree/product/1131/edit', data=dict(name="Name", productid="1131", cpe="", parent_branch="", parent_relationship=""))
        self.assertEqual(rv.status_code, 302)

    def testCreateProductInRelation(self):
        rv = self.createDoc('Title', 'Type')
        self.assertEqual(rv.status_code, 200)
        self.app.post('/producttree/create')
        self.assertFalse(CVRFs[self.id]._producttree is None)
        self.app.post('/producttree/product/add', data=dict(name="Name 1", productid="1131", cpe="", parent_branch="", parent_relationship=""))
        self.app.post('/producttree/product/add', data=dict(name="Name 2", productid="1132", cpe="", parent_branch="", parent_relationship=""))
        self.app.get('/producttree/relationship/add')
        self.app.post('/producttree/relationship/add', data=dict(productreference="1131", relationtype="as if", relatestoproductreference="1132"))
        self.app.get('/')
        self.app.get('/producttree/product/add')
        self.app.post('/producttree/product/add', data=dict(name="Name 3", productid="1133", cpe="", parent_branch="", parent_relationship="0"))

http://farol.wald.intevation.org