public void CanHandleInvalidCachedServerConfig()
        {
            using (var dir = new IsolatedStorageDirectory(DEFAULT_STORE)) {
                dir.WriteFile(CONFIG_FILENAME, "sadf<sdf>");

                Assert.True(dir.FileExists(CONFIG_FILENAME));

                var client = new ExceptionlessClient();
                ClientConfiguration config = ClientConfiguration.Create(client);

                // file should get deleted if it's invalid
                Assert.False(dir.FileExists(CONFIG_FILENAME));

                Assert.NotNull(config);

                Assert.True(config.ContainsKey("AttributeOnly"));
                Assert.Equal(config["AttributeOnly"], "Attribute");

                Assert.True(config.ContainsKey("UserNamespaces"));
                Assert.Equal(config["UserNamespaces"], "Exceptionless,FromConfig");

                Assert.True(config.ContainsKey("ConfigAndAttribute"));
                Assert.Equal(config["ConfigAndAttribute"], "Config");

                Assert.True(config.ContainsKey("AppConfigOnly"));
                Assert.Equal(config["AppConfigOnly"], "Config");
            }
        }
        public void CanReadCachedServerConfig()
        {
            var serverConfig = new ConfigurationDictionary {
                { "FromServer", "Server" }
            };
            var client = new ExceptionlessClient();

            ClientConfiguration.ProcessServerConfigResponse(client, serverConfig, DEFAULT_STORE);

            ClientConfiguration config = ClientConfiguration.Create(client);

            Assert.NotNull(config);

            Assert.True(config.ContainsKey("FromServer"));
            Assert.Equal(config["FromServer"], "Server");

            Assert.True(config.ContainsKey("AttributeOnly"));
            Assert.Equal(config["AttributeOnly"], "Attribute");

            Assert.True(config.ContainsKey("UserNamespaces"));
            Assert.Equal(config["UserNamespaces"], "Exceptionless,FromConfig");

            Assert.True(config.ContainsKey("ConfigAndAttribute"));
            Assert.Equal(config["ConfigAndAttribute"], "Config");

            Assert.True(config.ContainsKey("AppConfigOnly"));
            Assert.Equal(config["AppConfigOnly"], "Config");
        }
        public void CanReadConfiguration()
        {
            var client = new ExceptionlessClient();
            ClientConfiguration config = ClientConfiguration.Create(client);

            Assert.NotNull(config);

            Assert.True(config.ContainsKey("AttributeOnly"));
            Assert.Equal(config["AttributeOnly"], "Attribute");

            Assert.True(config.ContainsKey("UserNamespaces"));
            Assert.Equal(config["UserNamespaces"], "Exceptionless,FromConfig");

            Assert.True(config.ContainsKey("ConfigAndAttribute"));
            Assert.Equal(config["ConfigAndAttribute"], "Config");

            Assert.True(config.ContainsKey("AppConfigOnly"));
            Assert.Equal(config["AppConfigOnly"], "Config");
        }