public void HttpRoutesConflict_ReturnsExpectedResult() { var first = new HttpTriggerAttribute { Route = "foo/bar/baz" }; var second = new HttpTriggerAttribute { Route = "foo/bar" }; Assert.False(ScriptHost.HttpRoutesConflict(first, second)); Assert.False(ScriptHost.HttpRoutesConflict(second, first)); first = new HttpTriggerAttribute { Route = "foo/bar/baz" }; second = new HttpTriggerAttribute { Route = "foo/bar/baz" }; Assert.True(ScriptHost.HttpRoutesConflict(first, second)); Assert.True(ScriptHost.HttpRoutesConflict(second, first)); // no conflict since methods do not intersect first = new HttpTriggerAttribute(AuthorizationLevel.Function, "get", "head") { Route = "foo/bar/baz" }; second = new HttpTriggerAttribute(AuthorizationLevel.Function, "post", "put") { Route = "foo/bar/baz" }; Assert.False(ScriptHost.HttpRoutesConflict(first, second)); Assert.False(ScriptHost.HttpRoutesConflict(second, first)); first = new HttpTriggerAttribute(AuthorizationLevel.Function, "get", "head") { Route = "foo/bar/baz" }; second = new HttpTriggerAttribute { Route = "foo/bar/baz" }; Assert.True(ScriptHost.HttpRoutesConflict(first, second)); Assert.True(ScriptHost.HttpRoutesConflict(second, first)); first = new HttpTriggerAttribute(AuthorizationLevel.Function, "get", "head", "put", "post") { Route = "foo/bar/baz" }; second = new HttpTriggerAttribute(AuthorizationLevel.Function, "put") { Route = "foo/bar/baz" }; Assert.True(ScriptHost.HttpRoutesConflict(first, second)); Assert.True(ScriptHost.HttpRoutesConflict(second, first)); }
public void HttpRoutesConflict_ReturnsExpectedResult() { var first = new HttpTriggerBindingMetadata { Route = "foo/bar/baz" }; var second = new HttpTriggerBindingMetadata { Route = "foo/bar" }; Assert.False(ScriptHost.HttpRoutesConflict(first, second)); Assert.False(ScriptHost.HttpRoutesConflict(second, first)); first = new HttpTriggerBindingMetadata { Route = "foo/bar/baz" }; second = new HttpTriggerBindingMetadata { Route = "foo/bar/baz" }; Assert.True(ScriptHost.HttpRoutesConflict(first, second)); Assert.True(ScriptHost.HttpRoutesConflict(second, first)); // no conflict since methods do not intersect first = new HttpTriggerBindingMetadata { Methods = new Collection <HttpMethod>() { HttpMethod.Get, HttpMethod.Head }, Route = "foo/bar/baz" }; second = new HttpTriggerBindingMetadata { Methods = new Collection <HttpMethod>() { HttpMethod.Post, HttpMethod.Put }, Route = "foo/bar/baz" }; Assert.False(ScriptHost.HttpRoutesConflict(first, second)); Assert.False(ScriptHost.HttpRoutesConflict(second, first)); first = new HttpTriggerBindingMetadata { Methods = new Collection <HttpMethod>() { HttpMethod.Get, HttpMethod.Head }, Route = "foo/bar/baz" }; second = new HttpTriggerBindingMetadata { Route = "foo/bar/baz" }; Assert.True(ScriptHost.HttpRoutesConflict(first, second)); Assert.True(ScriptHost.HttpRoutesConflict(second, first)); first = new HttpTriggerBindingMetadata { Methods = new Collection <HttpMethod>() { HttpMethod.Get, HttpMethod.Head, HttpMethod.Put, HttpMethod.Post }, Route = "foo/bar/baz" }; second = new HttpTriggerBindingMetadata { Methods = new Collection <HttpMethod>() { HttpMethod.Put }, Route = "foo/bar/baz" }; Assert.True(ScriptHost.HttpRoutesConflict(first, second)); Assert.True(ScriptHost.HttpRoutesConflict(second, first)); }