public KeysControllerTests() { _settingsManager = ScriptSettingsManager.Instance; _testFunctions = new Collection <FunctionDescriptor>(); _testFunctionErrors = new Dictionary <string, Collection <string> >(); string rootScriptPath = @"c:\test\functions"; var environment = new NullScriptHostEnvironment(); var eventManager = new Mock <IScriptEventManager>(); var mockRouter = new Mock <IWebJobsRouter>(); var settings = new ScriptApplicationHostOptions() { ScriptPath = rootScriptPath, SecretsPath = _secretsDirectory.Path }; _secretsManagerMock = new Mock <ISecretManager>(MockBehavior.Strict); var fileSystem = new Mock <IFileSystem>(); var fileBase = new Mock <FileBase>(); var dirBase = new Mock <DirectoryBase>(); fileSystem.SetupGet(f => f.File).Returns(fileBase.Object); fileBase.Setup(f => f.ReadAllText(Path.Combine(rootScriptPath, "TestFunction1", ScriptConstants.FunctionMetadataFileName))).Returns("{}"); fileBase.Setup(f => f.ReadAllText(Path.Combine(rootScriptPath, "TestFunction2", ScriptConstants.FunctionMetadataFileName))).Returns("{}"); fileBase.Setup(f => f.ReadAllText(Path.Combine(rootScriptPath, "DNE", ScriptConstants.FunctionMetadataFileName))).Throws(new DirectoryNotFoundException()); _functionsSyncManagerMock = new Mock <IFunctionsSyncManager>(MockBehavior.Strict); _functionsSyncManagerMock.Setup(p => p.TrySyncTriggersAsync(false)).ReturnsAsync(new SyncTriggersResult { Success = true }); var hostManagerMock = new Mock <IScriptHostManager>(MockBehavior.Strict); hostManagerMock.SetupGet(p => p.State).Returns(ScriptHostState.Running); _testController = new KeysController(new OptionsWrapper <ScriptApplicationHostOptions>(settings), new TestSecretManagerProvider(_secretsManagerMock.Object), new LoggerFactory(), fileSystem.Object, _functionsSyncManagerMock.Object, hostManagerMock.Object); var keys = new Dictionary <string, string> { { "key1", "secret1" } }; _secretsManagerMock.Setup(p => p.GetFunctionSecretsAsync("TestFunction1", false)).ReturnsAsync(keys); keys = new Dictionary <string, string> { { "key1", "secret1" } }; _secretsManagerMock.Setup(p => p.GetFunctionSecretsAsync("TestFunction2", false)).ReturnsAsync(keys); _secretsManagerMock.Setup(p => p.GetFunctionSecretsAsync("DNE", false)).ReturnsAsync((IDictionary <string, string>)null); SetHttpContext(); }
public AdminControllerTests() { _settingsManager = ScriptSettingsManager.Instance; testFunctions = new Collection<FunctionDescriptor>(); var config = new ScriptHostConfiguration(); var environment = new NullScriptHostEnvironment(); var eventManager = new Mock<IScriptEventManager>(); hostMock = new Mock<ScriptHost>(MockBehavior.Strict, new object[] { environment, eventManager.Object, config, null }); hostMock.Setup(p => p.Functions).Returns(testFunctions); WebHostSettings settings = new WebHostSettings(); settings.SecretsPath = _secretsDirectory.Path; managerMock = new Mock<WebScriptHostManager>(MockBehavior.Strict, new object[] { config, new TestSecretManagerFactory(), eventManager.Object, _settingsManager, settings }); managerMock.SetupGet(p => p.Instance).Returns(hostMock.Object); testController = new AdminController(managerMock.Object, settings, new TestTraceWriter(TraceLevel.Verbose), null); }
public KeysControllerTests() { _settingsManager = ScriptSettingsManager.Instance; _testFunctions = new Collection <FunctionDescriptor>(); _testFunctionErrors = new Dictionary <string, Collection <string> >(); var config = new ScriptHostConfiguration(); var environment = new NullScriptHostEnvironment(); var eventManager = new Mock <IScriptEventManager>(); var mockRouter = new Mock <IWebJobsRouter>(); _hostMock = new Mock <ScriptHost>(MockBehavior.Strict, new object[] { environment, eventManager.Object, config, null, null, null }); _hostMock.Setup(p => p.Functions).Returns(_testFunctions); _hostMock.Setup(p => p.FunctionErrors).Returns(_testFunctionErrors); WebHostSettings settings = new WebHostSettings(); settings.SecretsPath = _secretsDirectory.Path; _secretsManagerMock = new Mock <ISecretManager>(MockBehavior.Strict); _managerMock = new Mock <WebScriptHostManager>(MockBehavior.Strict, new object[] { config, new TestSecretManagerFactory(_secretsManagerMock.Object), eventManager.Object, _settingsManager, settings, mockRouter.Object, NullLoggerFactory.Instance }); _managerMock.SetupGet(p => p.Instance).Returns(_hostMock.Object); _testController = new KeysController(_managerMock.Object, _secretsManagerMock.Object, new LoggerFactory()); // setup some test functions string errorFunction = "ErrorFunction"; var errors = new Collection <string>(); errors.Add("A really really bad error!"); _testFunctionErrors.Add(errorFunction, errors); var keys = new Dictionary <string, string> { { "key1", "secret1" } }; _secretsManagerMock.Setup(p => p.GetFunctionSecretsAsync(errorFunction, false)).ReturnsAsync(keys); }
public AdminControllerTests() { _settingsManager = ScriptSettingsManager.Instance; testFunctions = new Collection <FunctionDescriptor>(); var config = new ScriptHostConfiguration(); var environment = new NullScriptHostEnvironment(); var eventManager = new Mock <IScriptEventManager>(); var mockRouter = new Mock <IWebJobsRouter>(); var mockWebFunctionManager = new Mock <IWebFunctionsManager>(); hostMock = new Mock <ScriptHost>(MockBehavior.Strict, new object[] { environment, eventManager.Object, config, null, null, null }); hostMock.Setup(p => p.Functions).Returns(testFunctions); WebHostSettings settings = new WebHostSettings(); settings.SecretsPath = _secretsDirectory.Path; secretsManagerMock = new Mock <ISecretManager>(MockBehavior.Strict); managerMock = new Mock <WebScriptHostManager>(MockBehavior.Strict, new object[] { config, new TestSecretManagerFactory(secretsManagerMock.Object), eventManager.Object, _settingsManager, settings, mockRouter.Object, NullLoggerFactory.Instance }); managerMock.SetupGet(p => p.Instance).Returns(hostMock.Object); testController = new FunctionsController(mockWebFunctionManager.Object, managerMock.Object, new LoggerFactory()); }