Beispiel #1
0
        public async Task StorageShouldRestoreWithCorrectValues()
        {
            // ARRANGE
            var yamlConfigMock       = new Mock <YamlConfig>(Path.Combine(ConfigFixturePath, "level2", "level3"));
            IEnumerable <Type> types = new List <Type>()
            {
                typeof(AssmeblyDaemonApp)
            };
            var yamlConfig = @"
        app:
            class: AssmeblyDaemonApp
        ";

            using var instance = new YamlAppConfig(types, new StringReader(yamlConfig), yamlConfigMock.Object, "").Instances.FirstOrDefault() as AssmeblyDaemonApp;
            var daemonMock = new Mock <INetDaemon>();

            var storageItem = new FluentExpandoObject();

            storageItem["Data"] = "SomeData";

            daemonMock.Setup(n => n.GetDataAsync <IDictionary <string, object> >(It.IsAny <string>()))
            .ReturnsAsync((IDictionary <string, object>)storageItem);

            await instance !.StartUpAsync(daemonMock.Object);

            // ACT
            await instance.RestoreAppStateAsync();

            // ASSERT
            Assert.Equal("SomeData", instance.Storage.Data);
        }
        public async Task StorageShouldRestoreWithCorrectValues()
        {
            // ARRANGE
            var yamlConfigMock = new Mock <IYamlConfig>();

            yamlConfigMock.Setup(x => x.GetAllConfigFilePaths())
            .Returns(new[] { Path.Combine(ConfigFixturePath, "level2", "level3") });

            IEnumerable <Type> types = new List <Type>()
            {
                typeof(AssemblyDaemonApp)
            };
            const string?yamlConfig = @"
                app:
                    class: NetDaemon.Daemon.Tests.DaemonRunner.App.AssemblyDaemonApp
                ";

            await using var instance = new YamlAppConfig(types, new StringReader(yamlConfig), yamlConfigMock.Object, "").Instances.FirstOrDefault() as AssemblyDaemonApp;
            var daemonMock = new Mock <INetDaemon>();

            daemonMock.SetupGet(x => x.Logger).Returns(new Mock <ILogger>().Object);

            var storageItem = new FluentExpandoObject
            {
                ["Data"] = "SomeData"
            };

            daemonMock.SetupGet(x => x.Logger).Returns(new Mock <ILogger>().Object);
            daemonMock.Setup(n => n.GetDataAsync <IDictionary <string, object> >(It.IsAny <string>()))
            .ReturnsAsync((IDictionary <string, object>)storageItem);

            await instance !.StartUpAsync(daemonMock.Object).ConfigureAwait(false);

            // ACT
            await instance.RestoreAppStateAsync().ConfigureAwait(false);

            // ASSERT
            Assert.Equal("SomeData", instance.Storage.Data);
        }