public void Constructor() { //---------------Set up test pack------------------- //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var resultMessage = new HeliumGetConnectionStringResultMessage("ConnectionString"); //---------------Test Result ----------------------- resultMessage.Should().NotBeNull(); }
/// <summary> /// Helium File Connection String Actor constructor /// </summary> /// <param name="databaseSettings"></param> public HeliumFileConnectionStringActor(IThuriaDatabaseSettings databaseSettings) { if (databaseSettings == null) { throw new ArgumentNullException(nameof(databaseSettings)); } Receive <HeliumGetConnectionStringMessage>(message => { var connectionString = databaseSettings.GetConnectionString(message.DbContextName); ActorLogger.Log(LogLevel.InfoLevel, $"Retrieved Connection String Context: {message.DbContextName} String: {connectionString}"); var resultMessage = new HeliumGetConnectionStringResultMessage(connectionString); resultMessage.AddStateData(message.MessageStateData); Sender.Tell(resultMessage); }); }
private void HandleConnectionStringResult(HeliumGetConnectionStringResultMessage resultMessage) { var heliumAction = (HeliumAction)ExtractMessageStateData(resultMessage.MessageStateData, "HeliumAction"); var originalSender = (IActorRef)ExtractMessageStateData(resultMessage.MessageStateData, "Sender"); var sqlQuery = (string)ExtractMessageStateData(resultMessage.MessageStateData, "SqlQuery"); var heliumResult = HeliumActionResult.Success; var errorDetail = string.Empty; IEnumerable <object> resultData = null; try { switch (heliumAction) { case HeliumAction.Retrieve: resultData = ExecuteSelectSqlQuery(resultMessage.ConnectionString, sqlQuery); break; case HeliumAction.Insert: var rowsAffected = ExecuteSqlQuery(resultMessage.ConnectionString, sqlQuery); if (rowsAffected <= 0) { heliumResult = HeliumActionResult.Warning; errorDetail = "No rows affected by Insert Action"; } break; default: throw new Exception($"Helium Action [{heliumAction}] not currently supported"); } } catch (Exception runtimeException) { heliumResult = HeliumActionResult.Error; errorDetail = runtimeException.ToString(); } finally { SendResultMessage(originalSender, heliumAction, heliumResult, resultData, errorDetail, resultMessage.MessageStateData); } }