From 1387e68a48a00758ae2634de6eb81944d565aec4 Mon Sep 17 00:00:00 2001 From: Soufiane Jounaid Date: Sun, 9 May 2021 15:45:32 +0200 Subject: serverless: Add support for custom termination policies This change adds support for custom termination policies for function instances. This allows the user to build different strategies for downscaling function instances after they become idle. --- .../serverless/service/ServerlessServiceTest.kt | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'opendc-serverless/opendc-serverless-service/src/test') diff --git a/opendc-serverless/opendc-serverless-service/src/test/kotlin/org/opendc/serverless/service/ServerlessServiceTest.kt b/opendc-serverless/opendc-serverless-service/src/test/kotlin/org/opendc/serverless/service/ServerlessServiceTest.kt index d9f5ee81..6b2e8223 100644 --- a/opendc-serverless/opendc-serverless-service/src/test/kotlin/org/opendc/serverless/service/ServerlessServiceTest.kt +++ b/opendc-serverless/opendc-serverless-service/src/test/kotlin/org/opendc/serverless/service/ServerlessServiceTest.kt @@ -45,7 +45,7 @@ internal class ServerlessServiceTest { @Test fun testClientState() = runBlockingSimulation { val meter = MeterProvider.noop().get("opendc-serverless") - val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk()) + val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk(), mockk()) val client = assertDoesNotThrow { service.newClient() } assertDoesNotThrow { client.close() } @@ -60,7 +60,7 @@ internal class ServerlessServiceTest { @Test fun testClientInvokeUnknown() = runBlockingSimulation { val meter = MeterProvider.noop().get("opendc-serverless") - val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk()) + val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk(), mockk()) val client = service.newClient() @@ -70,7 +70,7 @@ internal class ServerlessServiceTest { @Test fun testClientFunctionCreation() = runBlockingSimulation { val meter = MeterProvider.noop().get("opendc-serverless") - val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk()) + val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk(), mockk()) val client = service.newClient() @@ -82,7 +82,7 @@ internal class ServerlessServiceTest { @Test fun testClientFunctionQuery() = runBlockingSimulation { val meter = MeterProvider.noop().get("opendc-serverless") - val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk()) + val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk(), mockk()) val client = service.newClient() @@ -96,7 +96,7 @@ internal class ServerlessServiceTest { @Test fun testClientFunctionFindById() = runBlockingSimulation { val meter = MeterProvider.noop().get("opendc-serverless") - val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk()) + val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk(), mockk()) val client = service.newClient() @@ -110,7 +110,7 @@ internal class ServerlessServiceTest { @Test fun testClientFunctionFindByName() = runBlockingSimulation { val meter = MeterProvider.noop().get("opendc-serverless") - val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk()) + val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk(), mockk()) val client = service.newClient() @@ -124,7 +124,7 @@ internal class ServerlessServiceTest { @Test fun testClientFunctionDuplicateName() = runBlockingSimulation { val meter = MeterProvider.noop().get("opendc-serverless") - val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk()) + val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk(), mockk()) val client = service.newClient() @@ -136,7 +136,7 @@ internal class ServerlessServiceTest { @Test fun testClientFunctionDelete() = runBlockingSimulation { val meter = MeterProvider.noop().get("opendc-serverless") - val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk()) + val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk(), mockk()) val client = service.newClient() val function = client.newFunction("test", 128) @@ -151,7 +151,7 @@ internal class ServerlessServiceTest { @Test fun testClientFunctionCannotInvokeDeleted() = runBlockingSimulation { val meter = MeterProvider.noop().get("opendc-serverless") - val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk()) + val service = ServerlessService(coroutineContext, clock, meter, mockk(), mockk(), mockk()) val client = service.newClient() val function = client.newFunction("test", 128) @@ -165,9 +165,9 @@ internal class ServerlessServiceTest { fun testClientFunctionInvoke() = runBlockingSimulation { val meter = MeterProvider.noop().get("opendc-serverless") val deployer = mockk() - val service = ServerlessService(coroutineContext, clock, meter, deployer, mockk()) + val service = ServerlessService(coroutineContext, clock, meter, deployer, mockk(), mockk(relaxUnitFun = true)) - every { deployer.deploy(any()) } answers { + every { deployer.deploy(any(), any()) } answers { object : FunctionInstance { override val state: FunctionInstanceState = FunctionInstanceState.Idle override val function: FunctionObject = it.invocation.args[0] as FunctionObject -- cgit v1.2.3