Mercurial > hg > release > thermostat-0.6
changeset 995:db2b89cdef62
Merge
author | Roman Kennke <rkennke@redhat.com> |
---|---|
date | Fri, 22 Feb 2013 16:53:10 +0100 |
parents | e318ef62411d (diff) e7ffb5dcd2dd (current diff) |
children | a5e29a0c324e 0d9534310a17 db242eb1da34 |
files | agent/core/src/main/java/com/redhat/thermostat/backend/BackendID.java agent/core/src/main/java/com/redhat/thermostat/backend/BackendLoadException.java agent/core/src/main/java/com/redhat/thermostat/backend/BackendsProperties.java vm-overview/client-swing/src/main/java/com/redhat/thermostat/vm/overview/client/swing/internal/ChangeableText.java vm-overview/client-swing/src/main/java/com/redhat/thermostat/vm/overview/client/swing/internal/SimpleTable.java |
diffstat | 2 files changed, 26 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/integration-tests/src/test/java/com/redhat/thermostat/itest/WebAppTest.java Thu Feb 21 17:09:44 2013 -0500 +++ b/integration-tests/src/test/java/com/redhat/thermostat/itest/WebAppTest.java Fri Feb 22 16:53:10 2013 +0100 @@ -37,12 +37,16 @@ package com.redhat.thermostat.itest; import static com.redhat.thermostat.itest.IntegrationTest.assertNoExceptions; +import static com.redhat.thermostat.itest.IntegrationTest.deleteFilesUnder; +import static com.redhat.thermostat.itest.IntegrationTest.getStorageDataDirectory; import static com.redhat.thermostat.itest.IntegrationTest.spawnThermostat; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import java.io.ByteArrayInputStream; import java.io.IOException; +import java.io.InputStream; import java.util.UUID; import org.eclipse.jetty.security.DefaultUserIdentity; @@ -77,6 +81,9 @@ @BeforeClass public static void setUpOnce() throws Exception { + String staleDataDir = getStorageDataDirectory(); + deleteFilesUnder(staleDataDir); + Spawn storage = spawnThermostat("storage", "--start"); storage.expect("pid:"); storage.expectClose(); @@ -163,4 +170,22 @@ assertEquals(12345, foundPojo.getLoadedClasses()); assertFalse(cursor.hasNext()); } + + @Test + public void testLoadSave() throws IOException, InterruptedException { + byte[] data = "Hello World".getBytes(); + webStorage.saveFile("test", new ByteArrayInputStream(data)); + // Note: Apparently, saving the file takes a bit. Without this + // waiting, we sometimes get problems on loadFile. There seems + // to be no way to synchronize on the operation in Mongo. + Thread.sleep(300); + InputStream loadStream = webStorage.loadFile("test"); + StringBuilder str = new StringBuilder(); + int i = loadStream.read(); + while (i != -1) { + str.append((char) i); + i = loadStream.read(); + } + assertEquals("Hello World", str.toString()); + } }
--- a/web/client/src/main/java/com/redhat/thermostat/web/client/internal/WebStorage.java Thu Feb 21 17:09:44 2013 -0500 +++ b/web/client/src/main/java/com/redhat/thermostat/web/client/internal/WebStorage.java Fri Feb 22 16:53:10 2013 +0100 @@ -338,6 +338,7 @@ new ThermostatGSONConverter()).create(); ClientConnectionManager connManager = new ThreadSafeClientConnManager(); DefaultHttpClient client = new DefaultHttpClient(connManager); + client.getParams().setParameter("http.protocol.expect-continue", Boolean.TRUE); httpClient = client; random = new SecureRandom(); conn = new WebConnection();