diff options
-rw-r--r-- | src/org/traccar/Context.java | 7 | ||||
-rw-r--r-- | test/org/traccar/BaseTest.java | 29 | ||||
-rw-r--r-- | test/org/traccar/protocol/WatchProtocolDecoderTest.java | 23 |
3 files changed, 30 insertions, 29 deletions
diff --git a/src/org/traccar/Context.java b/src/org/traccar/Context.java index b0db90416..d679842cd 100644 --- a/src/org/traccar/Context.java +++ b/src/org/traccar/Context.java @@ -508,16 +508,13 @@ public final class Context { Context.getConfig().getBoolean("event.overspeed.preferLowest")); } - public static void init(IdentityManager testIdentityManager) { + public static void init(IdentityManager testIdentityManager, MediaManager testMediaManager) { config = new Config(); objectMapper = new ObjectMapper(); objectMapper.registerModule(new JSR353Module()); client = ClientBuilder.newClient().register(new ObjectMapperContextResolver()); identityManager = testIdentityManager; - } - - public static void initMediaManager(MediaManager mediaManager) { - Context.mediaManager = mediaManager; + mediaManager = testMediaManager; } public static <T extends BaseModel> BaseObjectManager<T> getManager(Class<T> clazz) { diff --git a/test/org/traccar/BaseTest.java b/test/org/traccar/BaseTest.java index fb1b5de8f..0b2c616ce 100644 --- a/test/org/traccar/BaseTest.java +++ b/test/org/traccar/BaseTest.java @@ -1,9 +1,34 @@ package org.traccar; +import io.netty.buffer.ByteBuf; +import org.traccar.database.MediaManager; + +import java.util.HashMap; +import java.util.Map; + public class BaseTest { - + + public static class MockMediaManager extends MediaManager { + Map<String, ByteBuf> files = new HashMap<>(); + + MockMediaManager() { + super(""); + } + + @Override + public String writeFile(String uniqueId, ByteBuf buf, String extension) { + String fileName = uniqueId + "/mock." + extension; + files.put(fileName, buf); + return fileName; + } + + public ByteBuf readFile(String fileName) { + return files.get(fileName); + } + } + static { - Context.init(new TestIdentityManager()); + Context.init(new TestIdentityManager(), new MockMediaManager()); } } diff --git a/test/org/traccar/protocol/WatchProtocolDecoderTest.java b/test/org/traccar/protocol/WatchProtocolDecoderTest.java index f1287d721..51846f51a 100644 --- a/test/org/traccar/protocol/WatchProtocolDecoderTest.java +++ b/test/org/traccar/protocol/WatchProtocolDecoderTest.java @@ -119,32 +119,11 @@ public class WatchProtocolDecoderTest extends ProtocolTest { verifyNull(decoder.decode(null, null, buffer("[CS*1234567890*0004*TK,1]"))); - MockMediaManager mockMediaManager = new MockMediaManager("/tmp"); - Context.initMediaManager(mockMediaManager); String hex = "7d5b5d2c2aff"; Object decodedObject = decoder.decode(null, null, concatenateBuffers(buffer("[CS*1234567890*000e*TK,#!AMR"), binary(hex), buffer("]"))); assertTrue("not a position", decodedObject instanceof Position); Position position = (Position) decodedObject; assertEquals("1234567890/mock.amr", position.getAttributes().get("audio")); - verifyFrame(concatenateBuffers(buffer("#!AMR"), binary(hex)), mockMediaManager.readFile("1234567890/mock.amr")); - } - - private static class MockMediaManager extends MediaManager { - Map<String, ByteBuf> files = new HashMap<>(); - - MockMediaManager(String path) { - super(path); - } - - @Override - public String writeFile(String uniqueId, ByteBuf buf, String extension) { - String fileName = uniqueId + "/mock." + extension; - files.put(fileName, buf); - return fileName; - } - - ByteBuf readFile(String fileName) { - return files.get(fileName); - } + verifyFrame(concatenateBuffers(buffer("#!AMR"), binary(hex)), ((MockMediaManager) Context.getMediaManager()).readFile("1234567890/mock.amr")); } } |