Пример #1
0
        public void Ctor_AssignsProperties()
        {
            string key     = "lorem ipsum";
            var    request = new ContainsRequest(key);

            Assert.Equal(key, request.Key);
        }
Пример #2
0
        public async Task <bool> ContainsAsync(string key)
        {
            Debug.WriteLine("New contains request");

            var request = new ContainsRequest(key);

            IConnection connection = SelectServerAndCreateConnection(key);
            bool        contains   = await _containsProcessor.ExecuteAsync(request, connection);

            return(contains);
        }
Пример #3
0
        public async Task <bool> ContainsAsync(string key)
        {
            Trace.WriteLine("New contains request");

            ServerConfig server  = GetServerInternal(key);
            Request      request = ContainsRequest.New(key, server.Auth);

            var response = await _connectionPool.UseAsync(con => _containsProcessor.ExecuteAsync(request, con, server));

            return(response.Contains);
        }
Пример #4
0
        public void CanSerializeAndDeserialize()
        {
            string key     = "lorem ipsum";
            var    request = new ContainsRequest(key);

            byte[] packageBytes = SerializationUtils.Serialize(request);

            ContainsRequest requestFromBytes = SerializationUtils.Deserialize <ContainsRequest>(packageBytes);

            Assert.NotNull(requestFromBytes);
            Assert.Equal(requestFromBytes.Key, key);
        }
Пример #5
0
        public void Handle_Contains_WorksCorrectly()
        {
            // Arrange
            var processor = new RequestProcessor(Substitute.For <IStorage>(), null, null, null, null, new ContainsProcessor(), null);
            var request   = ContainsRequest.New("key", Auth.Default());

            // Act
            Response response = processor.Handle(request, Auth.Default());

            // Assert
            Assert.True(response.Success);
            Assert.True(string.IsNullOrEmpty(response.Exception));
            Assert.NotNull(request.ContainsRequest);
        }
Пример #6
0
        public void Handle_ReturnsTrueOrFalseIfElementIsInTheStorage(bool contains)
        {
            // arrange
            var request   = new ContainsRequest();
            var processor = new ContainsProcessor();
            var storage   = Substitute.For <IStorage>();

            storage.Contains(request.Key).Returns(contains);

            // act
            ContainsResponse response = processor.Reply(request, storage);

            // assert
            Assert.Equal(response.Contains, contains);
        }
Пример #7
0
        public void ContainsRequest_ReturnsNew()
        {
            // Arrange
            const string key  = "lorem ipsum";
            Auth         auth = new Auth();

            // Act
            var request = ContainsRequest.New(key, auth);

            // Assert
            Assert.NotNull(request);
            Assert.Equal(request.Type, RequestType.Contains);
            Assert.NotNull(request.ContainsRequest);
            Assert.Equal(auth, request.Auth);
        }
Пример #8
0
        public void Handle_ReturnsTrueOrFalseIfElementIsInTheStorage(bool contains)
        {
            // arrange
            var request   = new ContainsRequest();
            var processor = new ContainsProcessor();
            var storage   = Substitute.For <IStorage>();

            storage.Contains(request.Key).Returns(contains);
            byte[] expectedBytes = SerializationUtils.SerializeToStreamWithLength(contains);
            var    socket        = Substitute.For <Socket>();

            socket.Send(Arg.Any <byte[]>(), Arg.Any <int>(), Arg.Any <int>(), Arg.Any <SocketFlags>())
            .Returns(expectedBytes.Length);

            // act
            processor.Handle(ref request, storage, socket);

            // assert
            socket.Received(1).Send(Arg.Is <byte[]>(x => x.SequenceEqual(expectedBytes)), Arg.Any <int>(), Arg.Any <int>(), Arg.Any <SocketFlags>());
        }
Пример #9
0
        public void RequestType_ContainsCorrectType()
        {
            var request = new ContainsRequest();

            Assert.Equal(request.Type, RequestType.Contains);
        }