1
2
3
4 package de.tivsource.lib.jcyradm.test;
5
6 import java.io.IOException;
7 import java.io.InputStream;
8 import java.util.Properties;
9
10 import junit.framework.TestCase;
11 import de.tivsource.lib.jcyradm.JCyrAdm;
12 import de.tivsource.lib.jcyradm.exception.AuthenticationFailure;
13 import de.tivsource.lib.jcyradm.exception.NoLogMessagesFile;
14 import de.tivsource.lib.jcyradm.exception.NoPropertiesFile;
15 import de.tivsource.lib.jcyradm.exception.NoServerAnswerFile;
16 import de.tivsource.lib.jcyradm.exception.NoServerResponse;
17 import de.tivsource.lib.jcyradm.exception.NoServerStream;
18 import de.tivsource.lib.jcyradm.exception.UnexpectedServerAnswer;
19
20
21
22
23
24
25
26
27 public class JCyrAdmLoginTest extends TestCase {
28
29 private JCyrAdm jcyradm;
30 private Properties props;
31
32
33
34
35
36
37 public JCyrAdmLoginTest(String testName) {
38 super(testName);
39 }
40
41 protected void setUp() throws NoPropertiesFile, IOException, NoServerAnswerFile, NoLogMessagesFile {
42
43
44 props = new Properties();
45 InputStream inputStream = getClass().getClassLoader()
46 .getResourceAsStream("JCyrAdmTest.properties");
47 try {
48 props.load(inputStream);
49 inputStream.close();
50 } catch( Exception ex ) {
51 fail("Fehler: Properties-Datei fehlt.");
52 }
53
54 System.setProperty("javax.net.ssl.trustStore", props.getProperty("trustStore"));
55 System.setProperty("javax.net.ssl.trustStorePassword", props.getProperty("trustStorePassword"));
56
57 jcyradm = new JCyrAdm();
58 jcyradm.setAdministrator(props.getProperty("administrator"));
59 jcyradm.setPassword(props.getProperty("password"));
60 jcyradm.setHost(props.getProperty("testServer"));
61 jcyradm.connect(true);
62 jcyradm.capability();
63 }
64
65 protected void tearDown() throws IOException {
66 jcyradm.disconnect();
67 }
68
69
70
71
72
73
74 public void testLoginSSL() {
75 try {
76 jcyradm.login();
77 } catch (NoServerResponse e) {
78 fail( "Fehler: keine Antwort vom Server erhalten." );
79 } catch (UnexpectedServerAnswer e) {
80 fail( "Fehler: unerwartete Antwort vom Server erhalten." );
81 } catch (AuthenticationFailure e) {
82 fail( "Fehler: falscher Benutzername oder falsches Passwort." );
83 }
84
85 }
86
87
88
89
90
91 public void testLogoutSSL() {
92 try {
93 jcyradm.login();
94 } catch (NoServerResponse e) {
95 fail( "Fehler: keine Antwort vom Server erhalten." );
96 } catch (UnexpectedServerAnswer e) {
97 fail( "Fehler: unerwartete Antwort vom Server erhalten." );
98 } catch (AuthenticationFailure e) {
99 fail( "Fehler: falscher Benutzername oder falsches Passwort." );
100 }
101
102 try {
103 jcyradm.logout();
104 } catch (NoServerResponse e) {
105 fail( "Fehler: keine Antwort vom Server erhalten." );
106 } catch (NoServerStream e) {
107
108 e.printStackTrace();
109 } catch (UnexpectedServerAnswer e) {
110 fail( "Fehler: unerwartete Antwort vom Server erhalten." );
111 }
112 }
113
114 public void testLoginSSLWrongPassword() {
115 try {
116 jcyradm.setPassword("FALSCHES");
117 jcyradm.login();
118 fail( "Fehler: es sollte eine Ausnahme geworfen werden." );
119 } catch (NoServerResponse e) {
120 fail( "Fehler: keine Antwort vom Server erhalten." );
121 } catch (UnexpectedServerAnswer e) {
122 fail( "Fehler: unerwartete Antwort vom Server erhalten." );
123 } catch (AuthenticationFailure e) {
124 assertTrue("Erwartetes Ergebnis: das angegebene Passwort ist falsch.", true);
125 }
126 }
127
128 public void testLoginSSLWrongUser() {
129 try {
130 jcyradm.setPassword(props.getProperty("password"));
131 jcyradm.setAdministrator("root");
132 jcyradm.login();
133 fail( "Fehler: es sollte eine Ausnahme geworfen werden." );
134 } catch (NoServerResponse e) {
135 fail( "Fehler: keine Antwort vom Server erhalten." );
136 } catch (UnexpectedServerAnswer e) {
137 fail( "Fehler: unerwartete Antwort vom Server erhalten." );
138 } catch (AuthenticationFailure e) {
139 assertTrue("Erwartetes Ergebnis: der angegebene Benutzer ist falsch.", true);
140 }
141 }
142
143
144 }