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); }
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); }