Inheritance: IApplicationConfigSymbolResolver
        public async Task TestThatAppPropertiesOverwritesClusterProperties()
        {
            var resolver = new ApplicationConfigSymbolResolver("clusterId", "instanceId", new Dictionary<string, string>() { { "propKey", "clusterPropValue" } });
            var appInstallConfig = new AppInstallConfig(new AppIdentity("app", "1.0.0-test"), new Dictionary<string, string> { { "propKey", "appPropValue" } });

            Assert.Equal("appPropValue", await resolver.ResolveSymbol(appInstallConfig, "propKey"));
        }
        public async Task TestResolve()
        {
            var resolver = new ApplicationConfigSymbolResolver("clusterId", "instanceId", new Dictionary<string, string>() { {"clusterPropKey", "clusterPropValue"}});
            var appInstallConfig = new AppInstallConfig(new AppIdentity("app", "1.0.0-test"), new Dictionary<string, string> { {"appPropKey", "appPropValue"} });

            Assert.Equal("clusterId", await resolver.ResolveSymbol(appInstallConfig, "ClusterId"));
            Assert.Equal("instanceId", await resolver.ResolveSymbol(appInstallConfig, "InstanceId"));
            Assert.Equal("app", await resolver.ResolveSymbol(appInstallConfig, "Id"));
            Assert.Equal("1.0.0-test", await resolver.ResolveSymbol(appInstallConfig, "Version"));
            Assert.Equal("1", await resolver.ResolveSymbol(appInstallConfig, "Version.Major"));
            Assert.Equal("0", await resolver.ResolveSymbol(appInstallConfig, "Version.Minor"));
            Assert.Equal("0", await resolver.ResolveSymbol(appInstallConfig, "Version.Build"));
            Assert.Equal("test", await resolver.ResolveSymbol(appInstallConfig, "Version.Prerelease"));
            Assert.Equal("clusterPropValue", await resolver.ResolveSymbol(appInstallConfig, "clusterPropKey"));
            Assert.Equal("appPropValue", await resolver.ResolveSymbol(appInstallConfig, "appPropKey"));
        }