示例#1
0
        public void RedisRemoveActivity_ExecuteTool_RedisSource_NotNull_ExpectException_As_ExecutionEnvironmentError()
        {
            var key              = "key";
            var sourceId         = Guid.NewGuid();
            var exceptionMessage = "test: if the resource is not found";

            var env = new ExecutionEnvironment();

            env.Assign("[[key]]", key, 0);

            var redisSource = new RedisSource
            {
                HostName = "localhost",
                Password = "",
                Port     = "1234",
            };

            var mockDataObject = new Mock <IDSFDataObject>();

            mockDataObject.Setup(o => o.Environment)
            .Returns(env);

            var mockResourceCatalog = new Mock <IResourceCatalog>();

            mockResourceCatalog.Setup(o => o.GetResource <Resource>(GlobalConstants.ServerWorkspaceID, sourceId))
            .Throws(new Exception(exceptionMessage));

            var mockRedisCache = new Mock <IRedisCache>();

            mockRedisCache.Setup(o => o.Remove(key))
            .Returns(true);

            var mockRedisConnection = new Mock <IRedisConnection>();

            mockRedisConnection.Setup(o => o.Cache)
            .Returns(mockRedisCache.Object);

            var redisRemoveActivity = new RedisRemoveActivity(mockResourceCatalog.Object, new RedisCacheStub(() => mockRedisConnection.Object))
            {
                Key      = key,
                SourceId = sourceId
            };

            redisRemoveActivity.Execute(mockDataObject.Object, 0);

            var builder = new StringBuilder();

            builder.Append(GlobalConstants.InnerErrorTag);
            builder.Append(exceptionMessage);
            builder.Append(GlobalConstants.InnerErrorTagEnd);

            Assert.AreEqual(builder.ToString(), env.FetchErrors());
        }
示例#2
0
        public void RedisRemoveActivity_ExecuteTool_RedisSource_NotNull_ExpectSuccess()
        {
            var key         = "key";
            var sourceId    = Guid.NewGuid();
            var redisSource = new RedisSource
            {
                HostName = "localhost",
                Password = "",
                Port     = "1234",
            };

            var mockDataObject = new Mock <IDSFDataObject>();

            mockDataObject.Setup(o => o.Environment)
            .Returns(new ExecutionEnvironment());

            var mockResourceCatalog = new Mock <IResourceCatalog>();

            mockResourceCatalog.Setup(o => o.GetResource <Resource>(GlobalConstants.ServerWorkspaceID, sourceId))
            .Returns(redisSource);

            var mockRedisCache = new Mock <IRedisCache>();

            mockRedisCache.Setup(o => o.Remove(key))
            .Returns(true);

            var mockRedisConnection = new Mock <IRedisConnection>();

            mockRedisConnection.Setup(o => o.Cache)
            .Returns(mockRedisCache.Object);

            var redisRemoveActivity = new RedisRemoveActivity(mockResourceCatalog.Object, new RedisCacheStub(() => mockRedisConnection.Object))
            {
                Key      = key,
                SourceId = sourceId
            };

            redisRemoveActivity.Execute(mockDataObject.Object, 0);

            mockRedisCache.Verify(o => o.Remove(key), Times.Once);

            Assert.AreEqual("Success", redisRemoveActivity.Response);
        }
示例#3
0
        public void RedisRemoveActivity_ExecuteTool_RedisSource_NotNull_ExpectRedisSourceHasBeenRemoved()
        {
            var key         = "key";
            var env         = new ExecutionEnvironment();
            var redisSource = new RedisSource
            {
                HostName = "localhost",
                Password = "",
                Port     = "1234",
            };

            var mockDataObject = new Mock <IDSFDataObject>();

            mockDataObject.Setup(o => o.Environment)
            .Returns(env);

            var mockRedisCache = new Mock <IRedisCache>();

            mockRedisCache.Setup(o => o.Remove(key))
            .Returns(true);

            var mockRedisConnection = new Mock <IRedisConnection>();

            mockRedisConnection.Setup(o => o.Cache)
            .Returns(mockRedisCache.Object);

            var redisRemoveActivity = new RedisRemoveActivity(new Mock <IResourceCatalog>().Object, new RedisCacheStub(() => mockRedisConnection.Object))
            {
                Key = key,
            };

            var result = redisRemoveActivity.Execute(mockDataObject.Object, 0);

            mockRedisCache.Verify(o => o.Remove(key), Times.Never);

            Assert.IsNull(redisRemoveActivity.Response);
        }