public async Task Customer_Cloud_CustomerPost() { CustomerModel responseData = new CustomerModel(); HttpRequestGet <CustomerModel> requestGet; HttpRequestPost <CustomerModel> request; int idToGet = TypeExtension.DefaultInteger; string urlRoot = new ConfigurationManagerFull().AppSettingValue("MyWebService"); string urlFull = TypeExtension.DefaultString; // Ensure customers exist await this.Customer_Cloud_CustomerPut(); idToGet = recycleBin.Count() > 0 ? recycleBin[0] : TypeExtension.DefaultInteger; // Call the cloud and get results urlFull = String.Format("{0}/{1}/{2}", urlRoot, "Customer", idToGet); requestGet = new HttpRequestGet <CustomerModel>(urlFull); responseData = await requestGet.SendAsync(); Assert.IsTrue(responseData.ID != TypeExtension.DefaultInteger, "Customer did not get."); Assert.IsTrue(responseData.Key != TypeExtension.DefaultGuid, "Customer did not get."); // Now edit the customer responseData.FirstName = responseData.FirstName + "Edited"; request = new HttpRequestPost <CustomerModel>(urlFull, responseData); responseData = await request.SendAsync(); Assert.IsTrue(responseData.ID != TypeExtension.DefaultInteger, "Customer did not get."); Assert.IsTrue(responseData.FirstName.Contains("Edited") == true, "Customer did not get."); }
public async Task Endpoints_Framework_WebAPI_CustomerPost() { var responseData = new CustomerModel(); var urlCustomer = new ConfigurationManagerFull().AppSettingValue("MyWebService").AddLast("/Customer"); await this.Endpoints_Framework_WebAPI_CustomerPut(); var idToGet = Endpoints_Framework_for_WebApi.RecycleBin.Count() > 0 ? Endpoints_Framework_for_WebApi.RecycleBin[0] : TypeExtension.DefaultInteger; var url = new Uri(urlCustomer.AddLast("/") + idToGet.ToStringSafe()); var requestGet = new HttpRequestGet <CustomerModel>(url); responseData = await requestGet.SendAsync(); Assert.IsTrue(!responseData.IsNew); var testKey = Guid.NewGuid().ToString(); responseData.FirstName = responseData.FirstName.AddLast(testKey); var request = new HttpRequestPost <CustomerModel>(urlCustomer.TryParseUri(), responseData); responseData = await request.SendAsync(); Assert.IsTrue(!responseData.IsNew); Assert.IsTrue(responseData.FirstName.Contains(testKey)); }
public async Task Customer_Cloud_CustomerDelete() { CustomerModel responseData = new CustomerModel(); HttpRequestGet <CustomerModel> requestGet; HttpRequestDelete <CustomerModel> requestDelete; int idToDelete = TypeExtension.DefaultInteger; string urlRoot = new ConfigurationManagerFull().AppSettingValue("MyWebService"); string urlFull = TypeExtension.DefaultString; // Ensure customers exist await this.Customer_Cloud_CustomerPut(); idToDelete = recycleBin.Count() > 0 ? recycleBin[0] : TypeExtension.DefaultInteger; // Call the cloud and get results urlFull = String.Format("{0}/{1}/{2}", urlRoot, "Customer", idToDelete); requestDelete = new HttpRequestDelete <CustomerModel>(urlFull); responseData = await requestDelete.SendAsync(); Assert.IsTrue(responseData.ID != TypeExtension.DefaultInteger, "Customer did not delete."); Assert.IsTrue(responseData.Key != TypeExtension.DefaultGuid, "Customer did not delete."); // Get second confirmation requestGet = new HttpRequestGet <CustomerModel>(urlFull); responseData = await requestDelete.SendAsync(); Assert.IsTrue(responseData.ID != TypeExtension.DefaultInteger, "Customer did not delete."); Assert.IsTrue(responseData.Key != TypeExtension.DefaultGuid, "Customer did not delete."); }
public async Task Endpoints_Framework_WebAPI_CustomerSearchGet() { var url = new ConfigurationManagerFull().AppSettingValue("MyWebService"); var request = new HttpRequestGet <CustomerSearchModel>(url + "/CustomerSearch/-1/i/x/"); var returnValue = await request.SendAsync(); Assert.IsTrue(request.Response.IsSuccessStatusCode, request.Response.ReasonPhrase); Assert.IsTrue(returnValue.Results.Count > 0); }
public void Configuration_ConfigurationManagerFull_AppSettings() { var itemToTestString = TypeExtension.DefaultString; var itemToTest = new AppSettingSafe(); var configuration = new ConfigurationManagerFull(); itemToTest = configuration.AppSetting("TestAppSetting"); Assert.IsTrue(itemToTest.Value != TypeExtension.DefaultString); itemToTestString = configuration.AppSettings.GetValue("TestAppSetting"); Assert.IsTrue(itemToTestString != TypeExtension.DefaultString); }
public void Data_ValueReader_CanConnect() { var canConnect = TypeExtension.DefaultBoolean; var configuration = new ConfigurationManagerFull(ApplicationTypes.Native); using (var connection = new SqlConnection(configuration.ConnectionStringValue("DefaultConnection"))) { canConnect = connection.CanOpen(); } Assert.IsTrue(canConnect); }
/// <summary> /// Can connect to the database? /// </summary> /// <returns></returns> public static bool CanConnect() { var returnValue = TypeExtension.DefaultBoolean; var configuration = new ConfigurationManagerFull(ApplicationTypes.Native); using (var connection = new SqlConnection(configuration.ConnectionStringValue("DefaultConnection"))) { returnValue = connection.CanOpen(); } return(returnValue); }
public void Configuration_ConfigurationManagerFull_ConnectionStrings() { var itemToTest = new ConnectionStringSafe(); var configuration = new ConfigurationManagerFull(); itemToTest = configuration.ConnectionString("TestEFConnection"); Assert.IsTrue(itemToTest.Value != TypeExtension.DefaultString); Assert.IsTrue(itemToTest.IsEF); itemToTest = configuration.ConnectionString("TestADOConnection"); Assert.IsTrue(itemToTest.Value != TypeExtension.DefaultString); Assert.IsTrue(itemToTest.IsADO); }
public async Task Endpoints_Framework_WebAPI_CustomerGet() { var urlCustomer = new ConfigurationManagerFull().AppSettingValue("MyWebService").AddLast("/Customer"); await this.Endpoints_Framework_WebAPI_CustomerPut(); var idToGet = (Endpoints_Framework_for_WebApi.RecycleBin.Count() > 0 ? Endpoints_Framework_for_WebApi.RecycleBin[0] : TypeExtension.DefaultInteger).ToString(); var request = new HttpRequestGet <CustomerModel>(urlCustomer.AddLast("/") + idToGet.ToString()); var responseData = await request.SendAsync(); Assert.IsTrue(!responseData.IsNew); }
public void Data_ConnectionStringDatabase() { var result = TypeExtension.DefaultString; var configManager = new ConfigurationManagerFull(); var configConnectString = new ConnectionStringSafe(); configConnectString = configManager.ConnectionString(this.GetAttributeValue <ConnectionStringName>(ConnectionStringName.DefaultValue)); result = configConnectString.ToEF(typeof(EntityWithConnectString)); Assert.IsTrue(result != TypeExtension.DefaultString); Assert.IsTrue(configConnectString.IsValid == true); Assert.IsTrue(configConnectString.IsEF || configConnectString.IsADO); Assert.IsTrue(configConnectString.ConnectionStringType != ConnectionStringSafe.ConnectionStringTypes.Empty && configConnectString.ConnectionStringType != ConnectionStringSafe.ConnectionStringTypes.Invalid); }
public async Task Customer_Cloud_CustomerSearchGet() { CustomerSearchModel returnData = new CustomerSearchModel(); HttpRequestGet <CustomerSearchModel> request; string urlRoot = new ConfigurationManagerFull().AppSettingValue("MyWebService"); string urlFull = TypeExtension.DefaultString; // Find customer by first name. -1 for ID does not exist, and empty string Last Name doesnt exist urlFull = String.Format("{0}/{1}/{2}?firstName={3}&lastName={4}", urlRoot, "CustomerSearch", -1, "i", ""); request = new HttpRequestGet <CustomerSearchModel>(urlFull); returnData = await request.SendAsync(); Assert.IsTrue(returnData.Results.Count > 0, "Customer did not get."); Assert.IsTrue(returnData.FirstName != TypeExtension.DefaultString, "Customer did not get."); }
/// <summary> /// Instantiates and initializes. /// Do not allow new() due to constructor needing to instantiate ReadOnlyDatabase to get the attributes /// </summary> /// <returns></returns> public static ReadOnlyDatabase <TEntity> Construct() { var returnValue = new ReadOnlyDatabase <TEntity>(); var configManager = new ConfigurationManagerFull(); var configConnectString = new ConnectionStringSafe(); configConnectString = configManager.ConnectionString(returnValue.GetAttributeValue <ConnectionStringName>(ConnectionStringName.DefaultValue)); if (configConnectString.ToEF(typeof(TEntity)) == TypeExtension.DefaultString) { throw new System.Exception("Connection string could not be found. A valid connection string required for data access."); } else { returnValue = new ReadOnlyDatabase <TEntity>(configConnectString.ToEF(typeof(TEntity))); } return(returnValue); }
public async Task Customer_Cloud_CustomerPut() { CustomerModel customerToCreate = new CustomerModel(); string urlRoot = new ConfigurationManagerFull().AppSettingValue("MyWebService"); string urlFull = String.Format("{0}/{1}", urlRoot, "Customer"); HttpRequestPut <CustomerModel> request; // Simulate the service layer transforming the Model (CustomerModel) to the Data Access Object (CustomerInfo) customerToCreate.Fill(customerTestData[Arithmetic.Random(1, 5)]); // Call the cloud and get results request = new HttpRequestPut <CustomerModel>(urlFull, customerToCreate); customerToCreate = await request.SendAsync(); Assert.IsTrue(customerToCreate.ID != TypeExtension.DefaultInteger, "Customer did not save."); Assert.IsTrue(customerToCreate.Key != TypeExtension.DefaultGuid, "Customer did not save."); // Inserted records must be added to recycle bin for cleanup recycleBin.Add(customerToCreate.ID); }
public async Task Endpoints_Framework_WebAPI_CustomerDelete() { CustomerModel responseData = new CustomerModel(); var urlCustomer = new ConfigurationManagerFull().AppSettingValue("MyWebService").AddLast("/Customer"); await this.Endpoints_Framework_WebAPI_CustomerPut(); var idToDelete = recycleBin.Count() > 0 ? recycleBin[0] : TypeExtension.DefaultInteger; var requestDelete = new HttpRequestDelete <CustomerModel>(urlCustomer.AddLast("/") + idToDelete.ToString()); responseData = await requestDelete.SendAsync(); var requestGet = new HttpRequestGet <CustomerModel>(urlCustomer); responseData = await requestDelete.SendAsync(); Assert.IsTrue(responseData.ID == TypeExtension.DefaultInteger); Assert.IsTrue(responseData.Key == TypeExtension.DefaultGuid); }
/// <summary> /// Removes EF code-first migration history table /// </summary> /// <param name="database"></param> /// <param name="schema"></param> public static void DropMigrationHistory(string database = "[FrameworkData]", string schema = "[Activity]") { // Must remove __MigrationHistory for EF Code First objects to auto-create their tables var configuration = new ConfigurationManagerFull(); try { using (var connection = new SqlConnection(configuration.ConnectionStringValue("DefaultConnection"))) { using (var command = new SqlCommand("Drop Table " + database + "." + schema + ".[__MigrationHistory]", connection)) { connection.Open(); command.ExecuteNonQuery(); } } } catch (SqlException) { // Ignore connection errors } }
/// <summary> /// Loads config data /// </summary> /// <returns></returns> public async Task LoadDataAsync() { await Task.Delay(1); ConfigurationManager = new ConfigurationManagerFull(); }