Statistics
| Branch: | Tag: | Revision:

root / ui / tests.py @ e646ebe5

History | View | Annotate | Download (2.3 kB)

1
from django.test import TestCase
2
from selenium import selenium
3
from multiprocessing import Process
4
from time import sleep
5

    
6

    
7
class FunctionalCase(TestCase):
8
    """
9
    Functional tests for synnefo.ui using Selenium
10
    """
11

    
12
    def setUp(self):
13
        """Make the selenium connection"""
14
        TestCase.setUp(self)
15
        self.verificationErrors = []
16
        self.selenium = selenium("localhost", 4444, "*firefox",
17
                                 "http://localhost:8000/")
18
        self.selenium.start()
19

    
20
    def tearDown(self):
21
        """Kill processes"""
22
        TestCase.tearDown(self)
23
        self.selenium.stop()
24
        self.assertEqual([], self.verificationErrors)
25

    
26
    def test_wizard(self):
27
        sel = self.selenium
28
        sel.open("/")
29
        sel.wait_for_page_to_load("10000")
30
        self.failUnless(sel.is_text_present("machines"))
31
        sleep(2)
32
        sel.click("create")
33
        sel.click("small")
34
        sel.click("//div[@id='wizard']/div/div[1]/button[2]")
35
        sleep(2)
36
        sel.click("medium")
37
        sleep(2)
38
        try:
39
            self.assertEqual("2048", sel.get_value("ram-indicator"))
40
        except AssertionError, e:
41
            self.verificationErrors.append(str(e))
42
        try:
43
            self.assertEqual("2", sel.get_value("cpu-indicator"))
44
        except AssertionError, e:
45
            self.verificationErrors.append(str(e))
46
        try:
47
            self.assertEqual("40", sel.get_value("storage-indicator"))
48
        except AssertionError, e:
49
            self.verificationErrors.append(str(e))
50
        sleep(2)
51
        sel.click("//div[@id='wizard']/div/div[2]/button[2]")
52
        sleep(2)
53
        self.assertEqual("2", sel.get_text("machine_cpu-label"))
54
        self.assertEqual("2048", sel.get_text("machine_ram-label"))
55
        self.assertEqual("40", sel.get_text("machine_storage-label"))
56
        sel.click("start")
57
        sleep(2)
58
        try:
59
            self.failUnless(sel.is_text_present("Success"))
60
        except AssertionError, e:
61
            self.verificationErrors.append(str(e))
62

    
63
        #self.assertEqual("Success!",
64
        #                 sel.get_text("//div[@id='error-success']/h3"))
65
        #sel.click("//div[@id='error-success']/a")
66
        #try: self.failUnless(sel.is_text_present("My Debian Unstable server"))
67
        #except AssertionError, e: self.verificationErrors.append(str(e))