View Javadoc
1   package de.fhdw.wtf.persistence.test;
2   
3   import static org.junit.Assert.assertEquals;
4   import static org.junit.Assert.fail;
5   
6   import java.io.File;
7   import java.io.FileNotFoundException;
8   import java.io.PrintWriter;
9   import java.io.UnsupportedEncodingException;
10  import java.util.MissingResourceException;
11  
12  import org.junit.Test;
13  
14  import de.fhdw.wtf.persistence.utils.PropertiesReaderFile;
15  import de.fhdw.wtf.persistence.utils.PropertiesReaderRessource;
16  
17  public class TestPropertiesReader {
18  	
19  	private void prepareFile() throws FileNotFoundException, UnsupportedEncodingException {
20  		this.deleteFile();
21  		final PrintWriter writer = new PrintWriter("Settings1.properties", "UTF-8");
22  		writer.println("sid=XE");
23  		writer.println("schema=meta");
24  		writer.println("username=meta");
25  		writer.println("password=meta");
26  		writer.println("hostname=localhost");
27  		writer.println("port=1521");
28  		writer.close();
29  	}
30  	
31  	private void deleteFile() {
32  		(new File("Settings1.properties")).delete();
33  	}
34  	
35  	@Test
36  	public void testGetInstanceNoError() {
37  		try {
38  			final PropertiesReaderRessource reader = new PropertiesReaderRessource();
39  			reader.initialize("oracle");
40  		} catch (final MissingResourceException e) {
41  			fail();
42  		}
43  	}
44  	
45  	@Test
46  	public void testOracleValuesFromRessourceError() {
47  		try {
48  			final PropertiesReaderRessource reader = new PropertiesReaderRessource();
49  			reader.initialize("resource.oracle");
50  			fail();
51  		} catch (final MissingResourceException e) {
52  			/* Expected result */
53  		}
54  	}
55  	
56  	@Test
57  	public void testOracleValuesFromFileError() {
58  		try {
59  			final PropertiesReaderFile reader = new PropertiesReaderFile();
60  			reader.initialize("FileDoesNotExists.properties");
61  			fail();
62  		} catch (final MissingResourceException e) {
63  			/* Expected result */
64  		}
65  	}
66  	
67  	@Test
68  	public void testOracleValuesFromRessource() {
69  		final PropertiesReaderRessource reader = new PropertiesReaderRessource();
70  		reader.initialize("oracle");
71  		
72  		assertEquals("XE", reader.getProperty("sid"));
73  		assertEquals("meta", reader.getProperty("schema"));
74  		assertEquals("meta", reader.getProperty("username"));
75  		assertEquals("meta", reader.getProperty("password"));
76  		assertEquals("localhost", reader.getProperty("hostname"));
77  		assertEquals("1521", reader.getProperty("port"));
78  	}
79  	
80  	@Test
81  	public void testOracleValuesFromFile() throws FileNotFoundException, UnsupportedEncodingException {
82  		this.prepareFile();
83  		
84  		final PropertiesReaderFile reader = new PropertiesReaderFile();
85  		reader.initialize("Settings1.properties");
86  		
87  		assertEquals("XE", reader.getProperty("sid"));
88  		assertEquals("meta", reader.getProperty("schema"));
89  		assertEquals("meta", reader.getProperty("username"));
90  		assertEquals("meta", reader.getProperty("password"));
91  		assertEquals("localhost", reader.getProperty("hostname"));
92  		assertEquals("1521", reader.getProperty("port"));
93  		
94  		this.deleteFile();
95  	}
96  	
97  }