Пример #1
0
        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));
        }
Пример #3
0
        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);
        }
Пример #11
0
        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.");
        }
Пример #12
0
        /// <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);
        }
Пример #13
0
        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);
        }
Пример #14
0
        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);
        }
Пример #15
0
        /// <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
            }
        }
Пример #16
0
        /// <summary>
        /// Loads config data
        /// </summary>
        /// <returns></returns>
        public async Task LoadDataAsync()
        {
            await Task.Delay(1);

            ConfigurationManager = new ConfigurationManagerFull();
        }