public void ReuseCommandPortNumberOfDeadSession_Succeds() { //Arrange var(dbFile, path, fileName) = SetupTempDb(); var sqliteReg = new SQLiteRegistry(path, fileName); var randomCurrencyPairName = GetRandomCurrencyPairName(dbFile); (_, _, int currencyPairId) = sqliteReg.GetCurrencyPairIdByName(randomCurrencyPairName); (_, int[] commandPortNumbers) = sqliteReg.GetAvailableCommandPortNumbers(); int randomCommandPortNumber = commandPortNumbers[new Random().Next(0, commandPortNumbers.Length - 1)]; (_, int[] feederPortNumbers) = sqliteReg.GetAvailableFeederPortNumbers(); int randomFeederPortNumber = feederPortNumbers[new Random().Next(0, feederPortNumbers.Length - 1)]; string accountId = Guid.NewGuid().ToString(); int sessionId = 1; sqliteReg.RegisterSession(accountId, sessionId, currencyPairId, randomCommandPortNumber, randomFeederPortNumber); //Act var portNumberResult = sqliteReg.ReuseCommandPortNumber(accountId, sessionId, currencyPairId); //Assert Assert.False(portNumberResult > 0); TearDownTempDb(dbFile); }
public void GetLastTickOnEmptyTickFolder_Fails() { //Arrange var(dbFile, path, fileName) = SetupTempDb(); var sqliteReg = new SQLiteRegistry(path, fileName); var randomCurrencyPairName = GetRandomCurrencyPairName(dbFile); (_, _, int currencyPairId) = sqliteReg.GetCurrencyPairIdByName(randomCurrencyPairName); (_, int[] commandPortNumbers) = sqliteReg.GetAvailableCommandPortNumbers(); int randomCommandPortNumber = commandPortNumbers[new Random().Next(0, commandPortNumbers.Length - 1)]; (_, int[] feederPortNumbers) = sqliteReg.GetAvailableFeederPortNumbers(); int randomFeederPortNumber = feederPortNumbers[new Random().Next(0, feederPortNumbers.Length - 1)]; string accountId = Guid.NewGuid().ToString(); int sessionId = 1; sqliteReg.RegisterSession(accountId, sessionId, currencyPairId, randomCommandPortNumber, randomFeederPortNumber); var tickWriter = sqliteReg.GetTickWriter(accountId, currencyPairId); //Act var result = tickWriter.LastTick; //Assert Assert.False(result.success); }
public void WriteTick_Succeeds() { //Arrange var(dbFile, path, fileName) = SetupTempDb(); var sqliteReg = new SQLiteRegistry(path, fileName); var randomCurrencyPairName = GetRandomCurrencyPairName(dbFile); (_, _, int currencyPairId) = sqliteReg.GetCurrencyPairIdByName(randomCurrencyPairName); (_, int[] commandPortNumbers) = sqliteReg.GetAvailableCommandPortNumbers(); int randomCommandPortNumber = commandPortNumbers[new Random().Next(0, commandPortNumbers.Length - 1)]; (_, int[] feederPortNumbers) = sqliteReg.GetAvailableFeederPortNumbers(); int randomFeederPortNumber = feederPortNumbers[new Random().Next(0, feederPortNumbers.Length - 1)]; string accountId = Guid.NewGuid().ToString(); int sessionId = 1; sqliteReg.RegisterSession(accountId, sessionId, currencyPairId, randomCommandPortNumber, randomFeederPortNumber); var tickWriter = sqliteReg.GetTickWriter(accountId, currencyPairId); var timestamp = Timestamp.FromDateTime(DateTime.UtcNow); //Act var result = tickWriter.Write(timestamp.dateTime, timestamp.milliseconds, 1, 2); //Assert Assert.True(result.success); }
public void GetTickUriOnNewDbPth_ShouldNotExist() { //Arrange var(dbFile, path, fileName) = SetupTempDb(); var sqliteReg = new SQLiteRegistry(path, fileName); var randomCurrencyPairName = GetRandomCurrencyPairName(dbFile); (_, _, int currencyPairId) = sqliteReg.GetCurrencyPairIdByName(randomCurrencyPairName); (_, int[] commandPortNumbers) = sqliteReg.GetAvailableCommandPortNumbers(); int randomCommandPortNumber = commandPortNumbers[new Random().Next(0, commandPortNumbers.Length - 1)]; (_, int[] feederPortNumbers) = sqliteReg.GetAvailableFeederPortNumbers(); int randomFeederPortNumber = feederPortNumbers[new Random().Next(0, feederPortNumbers.Length - 1)]; string accountId = Guid.NewGuid().ToString(); int sessionId = 1; sqliteReg.RegisterSession(accountId, sessionId, currencyPairId, randomCommandPortNumber, randomFeederPortNumber); var tickWriter = sqliteReg.GetTickWriter(accountId, currencyPairId); //Act var tickUri = tickWriter.TickUri; //Assert Assert.False(Directory.Exists(tickUri)); }