Example #1
0
        public async Task AuthenticateFailed_SuccessfullyTraced()
        {
            var authenticatorMock = A.Fake <IAuthenticator>(x => x.Wrapping(new BasicAuthenticator("user", "pw")));

            A.CallTo(() => authenticatorMock.AuthenticateAsync(A <HttpRequestMessage> .Ignored, A <CancellationToken> .Ignored)).Returns(Task.FromResult(false));

            var trace  = default(string);
            var config = new ODataManagerConfiguration(BaseUri)
            {
                Authenticator = authenticatorMock
            };

            config.OnTrace += (format, args) => trace += string.Format(format, args);
            config.OnTrace += (format, args) => output.WriteLine(format, args);
            var manager = new ODataManager(config);

            authenticatorMock.OnTrace.Invoke("Triggered trace message in " + nameof(authenticatorMock));
            await manager.Client
            .For <Product>("Products")
            .Top(1)
            .FindEntriesAsync();

            Assert.Contains("Triggered trace message in " + nameof(authenticatorMock), trace);
            Assert.Contains("ODataManager: Authentication not successful", trace);
        }
Example #2
0
        public async Task UseODataClientAndOnTraceAndConverter_Success()
        {
            var trace  = default(string);
            var config = new ODataManagerConfiguration(BaseUri)
            {
                Authenticator     = new BasicAuthenticator("user", "pw"),
                VersioningManager = new QueryParamVersioningManager("1.0")
            };

            config.TypeCache.Converter.RegisterTypeConverter <Product>((IDictionary <string, object> dict) => dict.ToInstance <Product>());
            config.OnTrace = (format, args) => trace = string.Format(format, args);
            var manager = new ODataManager(config);

            trace = null;
            var dx = ODataDynamic.Expression;
            IEnumerable <dynamic> entities = await manager.Client
                                             .For(dx.Products)
                                             .FindEntriesAsync();

            Assert.NotEmpty(trace);
            Assert.Equal(11, entities.ToList().Count);

            trace = null;
            var entities2 = await manager.Client
                            .For <Product>("Products")
                            .FindEntriesAsync();

            Assert.NotEmpty(trace);
            Assert.Equal(11, entities2.ToList().Count);
        }
Example #3
0
        public async Task ApplyVersionFailed_SuccessfullyTraced()
        {
            var versioningManagerMock = A.Fake <IVersioningManager>(x => x.Wrapping(new QueryParamVersioningManager("1.0")));

            A.CallTo(() => versioningManagerMock.ApplyVersion(A <HttpRequestMessage> .Ignored)).Returns(false);

            var trace  = default(string);
            var config = new ODataManagerConfiguration(BaseUri)
            {
                VersioningManager = versioningManagerMock
            };

            config.OnTrace += (format, args) => trace += string.Format(format, args);
            config.OnTrace += (format, args) => output.WriteLine(format, args);
            var manager = new ODataManager(config);

            versioningManagerMock.OnTrace.Invoke("Triggered trace message in " + nameof(versioningManagerMock));
            await manager.Client
            .For <Product>("Products")
            .Top(1)
            .FindEntriesAsync();

            Assert.Contains("Triggered trace message in " + nameof(versioningManagerMock), trace);
            Assert.Contains("ODataManager: Applying version not successful", trace);
        }
Example #4
0
        public void ClientIsNeverNull_True()
        {
            var manager = new ODataManager(BaseUri);

            Assert.NotNull(manager.Client);
        }