Example #1
0
        public async Task TestGetVolume()
        {
            VolumeReply volumeReply = new VolumeReply()
            {
                Id     = "vol-0000000",
                Name   = "TestVolumeName",
                SizeGb = 3
            };

            volumeReply.MountPoints.Add("c:");

            Mock <IDatabase> databaseMock = new Mock <IDatabase>();

            databaseMock.Setup(d => d.KeyExists(It.IsAny <RedisKey>(), CommandFlags.None)).Returns(true);
            databaseMock.Setup(d => d.HashGetAsync(It.IsAny <RedisKey>(), It.IsAny <RedisValue>(), CommandFlags.None))
            .Returns(async(RedisKey userId, RedisValue key, CommandFlags flags) =>
            {
                if (key == "Id")
                {
                    return(volumeReply.Id);
                }
                if (key == "Name")
                {
                    return(volumeReply.Name);
                }
                else if (key == "Size")
                {
                    return(volumeReply.SizeGb);
                }
                else if (key == "MountPoints")
                {
                    return("c:");
                }
                else
                {
                    throw new Exception();
                }
            });

            Mock <IConnectionMultiplexer> connectionMock = new Mock <IConnectionMultiplexer>();

            connectionMock.Setup(d => d.GetDatabase(-1, null)).Returns(databaseMock.Object);

            Mock <IRedisConnectionService> redisServiceMock = new Mock <IRedisConnectionService>();

            redisServiceMock.Setup(d => d.Connect()).Returns(connectionMock.Object);

            Mock <ILogger <VolumesRepository> > loggerMock = new Mock <ILogger <VolumesRepository> >();
            VolumesRepository volumeDataSource             = new VolumesRepository(redisServiceMock.Object, loggerMock.Object);

            VolumeReply volume = await volumeDataSource.Get("key", "userId");

            Assert.IsTrue(volume.Id.Contains("vol"));
            Assert.IsTrue(volume.SizeGb == volumeReply.SizeGb);
            Assert.IsTrue(volume.Name == volumeReply.Name);
        }
Example #2
0
        public static VolumeReply Volume(VolumeModel volumeModel)
        {
            VolumeReply reply = new VolumeReply()
            {
                Id     = volumeModel.Id,
                Name   = volumeModel.Name,
                SizeGb = volumeModel.Size
            };

            reply.MountPoints.AddRange(volumeModel.MountPoints.Split(SEPARATOR));

            return(reply);
        }