From 6a91918e6f300a68f9da86b1e0ff00aa05ba9a62 Mon Sep 17 00:00:00 2001 From: str4d Date: Wed, 31 Oct 2012 00:22:15 +0000 Subject: [PATCH] Stubbed out Specs for net.i2p.router.update.* in routerconsole *Behaviors.scala should really go in net.i2p.update.* in core, but ScalaTest doesn't seem to be picking up the cross-dependency properly and just ignores any Spec which includes them; they will move once the build.xml is fixed. --- .../i2p/router/update/CheckerBehaviors.scala | 14 +++++++ .../update/ConsoleUpdateManagerSpec.scala | 21 ++++++++++ .../i2p/router/update/DummyHandlerSpec.scala | 24 +++++++++++ .../i2p/router/update/NewsFetcherSpec.scala | 27 +++++++++++++ .../i2p/router/update/NewsHandlerSpec.scala | 22 ++++++++++ .../i2p/router/update/NewsTimerTaskSpec.scala | 13 ++++++ .../update/PluginUpdateCheckerSpec.scala | 27 +++++++++++++ .../update/PluginUpdateHandlerSpec.scala | 24 +++++++++++ .../update/PluginUpdateRunnerSpec.scala | 27 +++++++++++++ .../update/UnsignedUpdateCheckerSpec.scala | 27 +++++++++++++ .../update/UnsignedUpdateHandlerSpec.scala | 24 +++++++++++ .../update/UnsignedUpdateRunnerSpec.scala | 27 +++++++++++++ .../i2p/router/update/UpdateHandlerSpec.scala | 22 ++++++++++ .../update/UpdateManagerBehaviors.scala | 40 +++++++++++++++++++ .../router/update/UpdateRunnerBehaviors.scala | 12 ++++++ .../i2p/router/update/UpdaterBehaviors.scala | 14 +++++++ 16 files changed, 365 insertions(+) create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/CheckerBehaviors.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/ConsoleUpdateManagerSpec.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/DummyHandlerSpec.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/NewsFetcherSpec.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/NewsHandlerSpec.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/NewsTimerTaskSpec.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/PluginUpdateCheckerSpec.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/PluginUpdateHandlerSpec.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/PluginUpdateRunnerSpec.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/UnsignedUpdateCheckerSpec.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/UnsignedUpdateHandlerSpec.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/UnsignedUpdateRunnerSpec.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdateHandlerSpec.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdateManagerBehaviors.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdateRunnerBehaviors.scala create mode 100644 apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdaterBehaviors.scala diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/CheckerBehaviors.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/CheckerBehaviors.scala new file mode 100644 index 000000000..84460d657 --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/CheckerBehaviors.scala @@ -0,0 +1,14 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec + +import net.i2p.update.Checker + +/** + * @author str4d + */ +trait CheckerBehaviors { this: FunSpec => + def checker(newChecker: => Checker) { + it("should provide a method to check for updates") (pending) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/ConsoleUpdateManagerSpec.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/ConsoleUpdateManagerSpec.scala new file mode 100644 index 000000000..a4754c6c8 --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/ConsoleUpdateManagerSpec.scala @@ -0,0 +1,21 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec +import org.scalatest.mock.MockitoSugar + +import net.i2p.router.RouterContext + +/** + * @author str4d + */ +class ConsoleUpdateManagerSpec extends FunSpec with UpdateManagerBehaviors with MockitoSugar { + def consoleUpdateManager = { + val mockCtx = mock[RouterContext] + val cum = new ConsoleUpdateManager(mockCtx) + cum + } + + describe("A ConsoleUpdateManager") { + it should behave like updateManager(consoleUpdateManager) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/DummyHandlerSpec.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/DummyHandlerSpec.scala new file mode 100644 index 000000000..412411929 --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/DummyHandlerSpec.scala @@ -0,0 +1,24 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec +import org.scalatest.mock.MockitoSugar + +import net.i2p.router.RouterContext + +/** + * @author str4d + */ +class DummyHandlerSpec extends FunSpec with CheckerBehaviors with UpdaterBehaviors with MockitoSugar { + def dummyHandler = { + val mockCtx = mock[RouterContext] + val mockMgr = mock[ConsoleUpdateManager] + val dh = new DummyHandler(mockCtx, mockMgr) + dh + } + + describe("A DummyHandler") { + it should behave like checker(dummyHandler) + + it should behave like updater(dummyHandler) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/NewsFetcherSpec.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/NewsFetcherSpec.scala new file mode 100644 index 000000000..b69bb7124 --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/NewsFetcherSpec.scala @@ -0,0 +1,27 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec +import org.scalatest.mock.MockitoSugar + +import java.net.URI +import java.util.Collections + +import net.i2p.router.RouterContext + +/** + * @author str4d + */ +class NewsFetcherSpec extends FunSpec with UpdateRunnerBehaviors with MockitoSugar { + def newsFetcher = { + val mockCtx = mock[RouterContext] + val mockMgr = mock[ConsoleUpdateManager] + val mockUri = mock[URI] + val uris = Collections.singletonList(mockUri) + val nf = new NewsFetcher(mockCtx, mockMgr, uris) + nf + } + + describe("A NewsFetcher") { + it should behave like updateRunner(newsFetcher) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/NewsHandlerSpec.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/NewsHandlerSpec.scala new file mode 100644 index 000000000..03867b38c --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/NewsHandlerSpec.scala @@ -0,0 +1,22 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec +import org.scalatest.mock.MockitoSugar + +import net.i2p.router.RouterContext + +/** + * @author str4d + */ +class NewsHandlerSpec extends FunSpec with UpdaterBehaviors with MockitoSugar { + def newsHandler = { + val mockCtx = mock[RouterContext] + val mockMgr = mock[ConsoleUpdateManager] + val nh = new NewsHandler(mockCtx, mockMgr) + nh + } + + describe("A NewsHandler") { + it should behave like updater(newsHandler) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/NewsTimerTaskSpec.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/NewsTimerTaskSpec.scala new file mode 100644 index 000000000..522a66131 --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/NewsTimerTaskSpec.scala @@ -0,0 +1,13 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec +import org.scalatest.mock.MockitoSugar + +/** + * @author str4d + */ +class NewsTimerTaskSpec extends FunSpec with MockitoSugar { + describe("A NewsTimerTask") { + it("should keep track of time") (pending) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/PluginUpdateCheckerSpec.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/PluginUpdateCheckerSpec.scala new file mode 100644 index 000000000..33cb6707d --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/PluginUpdateCheckerSpec.scala @@ -0,0 +1,27 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec +import org.scalatest.mock.MockitoSugar + +import java.net.URI +import java.util.Collections + +import net.i2p.router.RouterContext + +/** + * @author str4d + */ +class PluginUpdateCheckerSpec extends FunSpec with UpdateRunnerBehaviors with MockitoSugar { + def pluginUpdateChecker = { + val mockCtx = mock[RouterContext] + val mockMgr = mock[ConsoleUpdateManager] + val mockUri = mock[URI] + val uris = Collections.singletonList(mockUri) + val puc = new PluginUpdateChecker(mockCtx, mockMgr, uris, "appName", "appVersion") + puc + } + + describe("A PluginUpdateChecker") { + it should behave like updateRunner(pluginUpdateChecker) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/PluginUpdateHandlerSpec.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/PluginUpdateHandlerSpec.scala new file mode 100644 index 000000000..279a0ce5f --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/PluginUpdateHandlerSpec.scala @@ -0,0 +1,24 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec +import org.scalatest.mock.MockitoSugar + +import net.i2p.router.RouterContext + +/** + * @author str4d + */ +class PluginUpdateHandlerSpec extends FunSpec with CheckerBehaviors with UpdaterBehaviors with MockitoSugar { + def pluginUpdateHandler = { + val mockCtx = mock[RouterContext] + val mockMgr = mock[ConsoleUpdateManager] + val puh = new PluginUpdateHandler(mockCtx, mockMgr) + puh + } + + describe("A PluginUpdateHandler") { + it should behave like checker(pluginUpdateHandler) + + it should behave like updater(pluginUpdateHandler) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/PluginUpdateRunnerSpec.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/PluginUpdateRunnerSpec.scala new file mode 100644 index 000000000..c5ee14dc5 --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/PluginUpdateRunnerSpec.scala @@ -0,0 +1,27 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec +import org.scalatest.mock.MockitoSugar + +import java.net.URI +import java.util.Collections + +import net.i2p.router.RouterContext + +/** + * @author str4d + */ +class PluginUpdateRunnerSpec extends FunSpec with UpdateRunnerBehaviors with MockitoSugar { + def pluginUpdateRunner = { + val mockCtx = mock[RouterContext] + val mockMgr = mock[ConsoleUpdateManager] + val mockUri = mock[URI] + val uris = Collections.singletonList(mockUri) + val pur = new PluginUpdateRunner(mockCtx, mockMgr, uris, "appName", "appVersion") + pur + } + + describe("A PluginUpdateRunner") { + it should behave like updateRunner(pluginUpdateRunner) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UnsignedUpdateCheckerSpec.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UnsignedUpdateCheckerSpec.scala new file mode 100644 index 000000000..63d0c3f97 --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UnsignedUpdateCheckerSpec.scala @@ -0,0 +1,27 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec +import org.scalatest.mock.MockitoSugar + +import java.net.URI +import java.util.Collections + +import net.i2p.router.RouterContext + +/** + * @author str4d + */ +class UnsignedUpdateCheckerSpec extends FunSpec with UpdateRunnerBehaviors with MockitoSugar { + def unsignedUpdateChecker = { + val mockCtx = mock[RouterContext] + val mockMgr = mock[ConsoleUpdateManager] + val mockUri = mock[URI] + val uris = Collections.singletonList(mockUri) + val uuc = new UnsignedUpdateChecker(mockCtx, mockMgr, uris, 0) + uuc + } + + describe("An UnsignedUpdateChecker") { + it should behave like updateRunner(unsignedUpdateChecker) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UnsignedUpdateHandlerSpec.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UnsignedUpdateHandlerSpec.scala new file mode 100644 index 000000000..802ade31c --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UnsignedUpdateHandlerSpec.scala @@ -0,0 +1,24 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec +import org.scalatest.mock.MockitoSugar + +import net.i2p.router.RouterContext + +/** + * @author str4d + */ +class UnsignedUpdateHandlerSpec extends FunSpec with CheckerBehaviors with UpdaterBehaviors with MockitoSugar { + def unsignedUpdateHandler = { + val mockCtx = mock[RouterContext] + val mockMgr = mock[ConsoleUpdateManager] + val uuh = new UnsignedUpdateHandler(mockCtx, mockMgr) + uuh + } + + describe("An UnsignedUpdateHandler") { + it should behave like checker(unsignedUpdateHandler) + + it should behave like updater(unsignedUpdateHandler) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UnsignedUpdateRunnerSpec.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UnsignedUpdateRunnerSpec.scala new file mode 100644 index 000000000..d400215b0 --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UnsignedUpdateRunnerSpec.scala @@ -0,0 +1,27 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec +import org.scalatest.mock.MockitoSugar + +import java.net.URI +import java.util.Collections + +import net.i2p.router.RouterContext + +/** + * @author str4d + */ +class UnsignedUpdateRunnerSpec extends FunSpec with UpdateRunnerBehaviors with MockitoSugar { + def unsignedUpdateRunner = { + val mockCtx = mock[RouterContext] + val mockMgr = mock[ConsoleUpdateManager] + val mockUri = mock[URI] + val uris = Collections.singletonList(mockUri) + val uur = new UnsignedUpdateRunner(mockCtx, mockMgr, uris) + uur + } + + describe("An UnsignedUpdateRunner") { + it should behave like updateRunner(unsignedUpdateRunner) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdateHandlerSpec.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdateHandlerSpec.scala new file mode 100644 index 000000000..2b533813a --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdateHandlerSpec.scala @@ -0,0 +1,22 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec +import org.scalatest.mock.MockitoSugar + +import net.i2p.router.RouterContext + +/** + * @author str4d + */ +class UpdateHandlerSpec extends FunSpec with UpdaterBehaviors with MockitoSugar { + def updateHandler = { + val mockCtx = mock[RouterContext] + val mockMgr = mock[ConsoleUpdateManager] + val uh = new UpdateHandler(mockCtx, mockMgr) + uh + } + + describe("An UpdateHandler") { + it should behave like updater(updateHandler) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdateManagerBehaviors.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdateManagerBehaviors.scala new file mode 100644 index 000000000..ba7835a1b --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdateManagerBehaviors.scala @@ -0,0 +1,40 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec + +import net.i2p.update.UpdateManager + +/** + * @author str4d + */ +trait UpdateManagerBehaviors { this: FunSpec => + def updateManager(newUpdateManager: => UpdateManager) { + it("should provide a method to register updaters") (pending) + + it("should provide a method to unregister updaters") (pending) + + it("should provide a method to register checkers") (pending) + + it("should provide a method to unregister checkers") (pending) + + it("should provide a start method") (pending) + + it("should provide a shutdown method") (pending) + + it("should notify when a new version is available") (pending) + + it("should notify when a check is complete") (pending) + + it("should provide a method to notify progress") (pending) + + it("should provide a method to notify progress with completion status") (pending) + + it("should notify when a single update attempt fails") (pending) + + it("should notify when an entire task finishes and has failed") (pending) + + it("should notify when an update has been downloaded, and verify it") (pending) + + it("should notify when") (pending) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdateRunnerBehaviors.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdateRunnerBehaviors.scala new file mode 100644 index 000000000..c88e9bab3 --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdateRunnerBehaviors.scala @@ -0,0 +1,12 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec + +/** + * @author str4d + */ +trait UpdateRunnerBehaviors { this: FunSpec => + def updateRunner(newUpdateRunner: => UpdateRunner) { + it("should provide a method to run updates") (pending) + } +} diff --git a/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdaterBehaviors.scala b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdaterBehaviors.scala new file mode 100644 index 000000000..558983497 --- /dev/null +++ b/apps/routerconsole/java/test/scalatest/net/i2p/router/update/UpdaterBehaviors.scala @@ -0,0 +1,14 @@ +package net.i2p.router.update + +import org.scalatest.FunSpec + +import net.i2p.update.Updater + +/** + * @author str4d + */ +trait UpdaterBehaviors { this: FunSpec => + def updater(newUpdater: => Updater) { + it("should provide a method to perform updates") (pending) + } +}