mirror of https://github.com/jacekkow/uphpCAS-tests

Jacek Kowalski
2020-03-16 aec94b681c69eb429fcfa5050602608d8cfcdb86
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import org.openqa.selenium.WebDriver
import org.openqa.selenium.By
import java.net.URLEncoder
 
import Config
 
class Common {
    public static WebDriver set(String casServer, String caFile = null,
            String method = null, String serviceUrl = null,
            WebDriver driver = null) {
        if(driver == null) {
            driver = Config.getDriver()
        }
        
        def url = Config.baseUrl + '/basic/set.php'
        url += '?cas=' + URLEncoder.encode(casServer)
        if(caFile != null) {
            url += '&cafile=' + URLEncoder.encode(caFile)
        }
        if(method != null) {
            url += '&method=' + URLEncoder.encode(method)
        }
        if(serviceUrl != null) {
            url += '&url=' + URLEncoder.encode(serviceUrl)
        }
        
        driver.get(url);
        
        assert driver.getPageSource().contains('CAS server set.');
        if(caFile != null) {
            assert driver.getPageSource().contains('CA file set.');
        } else {
            assert driver.getPageSource().contains('CA file unset.');
        }
        if(method != null) {
            assert driver.getPageSource().contains('Method set.');
        } else {
            assert driver.getPageSource().contains('Method unset.');
        }
        if(serviceUrl != null) {
            assert driver.getPageSource().contains('URL set.');
        } else {
            assert driver.getPageSource().contains('URL unset.');
        }
        
        
        return driver;
    }
    
    public static WebDriver login(String url, WebDriver driver,
            String user = null, String attrs = null) {
        if(user == null) {
            user = "user123"
        }
        
        assert driver.getCurrentUrl().contains('service=' + URLEncoder.encode(url))
        assert driver.getPageSource().contains('<form')
        
        def element = driver.findElement(By.name('user'))
        element.sendKeys(user)
        element.submit()
        
        return driver
    }
    
    public static WebDriver loginSingle(String url, WebDriver driver = null,
            String user = null, String attrs = null) {
        if(driver == null) {
            driver = Config.getDriver()
        }
        
        driver.get(url)
        this.login(url, driver, user, attrs)
        
        return driver
    }
    
    public static WebDriver loginMulti(String url, WebDriver driver = null,
            String user = null, String attrs = null) {
        if(driver == null) {
            driver = Config.getDriver()
        }
        
        driver.get(url)
        assert driver.getPageSource().contains("Not authenticated.")
        
        // Go to login page
        driver.findElement(By.tagName("a")).click()
        
        // Login
        this.login(url, driver, user, attrs)
        
        return driver
    }
}