Posted by Michael Horvath under Technology  Test Automation  .Net Web API  on Sep 02 2022

You may have already downloaded our nuget package and want some additional assistance in getting started using HSS_API_Store_SDK. Below you will find a unit test code snippet that demonstrates calls to the methods provided in our nuget package. Be sure to scroll through the entire post there is more after the following code.

 
using HSS_API_Store_SDK;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Configuration;
using System.Threading.Tasks;
using static HSS_API_Store_SDK.apiResponsePasswords;
using static HSS_API_Store_SDK.apiResponseFoods;
using static HSS_API_Store_SDK.apiResponsePeople;

namespace HSS_API_Store_SDK_UnitTests
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public async Task TestMethod1()
        {
            var apiResponse = await Passwords.GetPasswordsAsync(ConfigurationManager.AppSettings.Get("HSS_API_Store_EmailAddress"), 
                ConfigurationManager.AppSettings.Get("HSS_API_Store_PasswordsKey"), 10, 20, 8, "", true, RequiredSymbols.Digits);

            Assert.IsNotNull(apiResponse);
            Assert.IsNotNull(apiResponse.passwordValues);
            Assert.AreEqual(ResponseEnumPasswords.Success, apiResponse.responseStatus);
            Assert.AreEqual(9, apiResponse.passwordValues.GetUpperBound(0));

            foreach(var password in apiResponse.passwordValues)
            {
                Console.WriteLine(password);
            }
        }

        [TestMethod]
        public async Task TestMethod2()
        {
            var apiResponse = await Passwords.GetPasswordsAsync(ConfigurationManager.AppSettings.Get("HSS_API_Store_EmailAddress"), 
                ConfigurationManager.AppSettings.Get("HSS_API_Store_PasswordsKey"), PasswordCharacterSelection: RequiredSymbols.Digits);

            Assert.IsNotNull(apiResponse);
            Assert.IsNotNull(apiResponse.passwordValues);
            Assert.AreEqual(ResponseEnumPasswords.Success, apiResponse.responseStatus);
            Assert.AreEqual(0, apiResponse.passwordValues.GetUpperBound(0));

            foreach (var password in apiResponse.passwordValues)
            {
                Console.WriteLine(password);
            }
        }

        [TestMethod]
        public async Task TestMethod3()
        {
            var apiResponse = await Foods.GetFoodsAsync(ConfigurationManager.AppSettings.Get("HSS_API_Store_EmailAddress"), 
                ConfigurationManager.AppSettings.Get("HSS_API_Store_FoodsKey"));

            Assert.IsNotNull(apiResponse);
            Assert.IsNotNull(apiResponse.foodsList);
            Assert.AreEqual(ResponseEnumFoods.Success, apiResponse.responseStatus);
            Assert.AreEqual(0, apiResponse.foodsList.ToArray().GetUpperBound(0));

            foreach (var food in apiResponse.foodsList)
            {
                Console.WriteLine(food.foodInformation.Name);
            }
        }

        [TestMethod]
        public async Task TestMethod4()
        {
            var apiResponse = await Foods.GetFoodsAsync(ConfigurationManager.AppSettings.Get("HSS_API_Store_EmailAddress"),
                ConfigurationManager.AppSettings.Get("HSS_API_Store_FoodsKey"), 20, "goat's milk");

            Assert.IsNotNull(apiResponse);
            Assert.IsNotNull(apiResponse.foodsList);
            Assert.AreEqual(ResponseEnumFoods.Success, apiResponse.responseStatus);
            Assert.AreEqual(19, apiResponse.foodsList.ToArray().GetUpperBound(0));

            foreach (var food in apiResponse.foodsList)
            {
                Console.WriteLine(food.foodInformation.BrandName + " " + food.foodInformation.Name + " " + food.foodInformation.HouseholdServing);
                Console.WriteLine(food.foodInformation.Ingredients);
                Console.WriteLine(" ");
            }
        }

        [TestMethod]
        public async Task TestMethod5()
        {
            var apiResponse = await People.GetPeopleAsync(ConfigurationManager.AppSettings.Get("HSS_API_Store_EmailAddress"), 
                ConfigurationManager.AppSettings.Get("HSS_API_Store_PeopleKey"), 5, StateSelection: StateIDEnum.AR);

            Assert.IsNotNull(apiResponse);
            Assert.IsNotNull(apiResponse.peopleList);
            Assert.AreEqual(ResponseEnumPeople.Success, apiResponse.responseStatus);
            Assert.AreEqual(4, apiResponse.peopleList.ToArray().GetUpperBound(0));

            foreach (var person in apiResponse.peopleList)
            {
                Console.WriteLine(person.Prefix + " " + person.FirstName + " " + person.LastName);
                Console.WriteLine(person.AddressLine1);
                if (person.AddressLine2 != null && person.AddressLine2 != "")
                    Console.WriteLine(person.AddressLine2);
                Console.WriteLine(person.City + ", " + person.StateID + " " + person.ZipCode);
                Console.WriteLine(person.PhoneNumber.FormatPhoneNumber());
                Console.WriteLine(" ");
            }
        }
    }
}



You will need to setup an app.config file in your project if you want to build this unit test code to define the AppSettings used in the code. Below is a sample app.config with placeholders in curly braces for your email and API keys. You can change these to the values you received when you requested API keys from our API Store.



  
    
    
    
    
  
  
    
      
        
        
      
    
  



Thank you for downloading our SDK and for reading our post!

Tagged --no tags--
Posted by Michael Horvath under Technology  Test Automation  .Net Web API  on Aug 21 2022


We have been working on .Net Web APIs that provide functionality that you may incorporate into your own application. As of this posting we have three APIs available: 1) GetFoodsAPI, 2) PasswordGeneratorAPI and 3) PeopleGeneratorAPI.

The get foods API will return records from the USDA Food Database used in our Food Allergy Checker. You may pass your criterion to the API to search the database for foods matching the criterion. We limit the result set to top {Count} parameter setting which allows values from 1 to 20.

The password generator can be used in a number of ways. Some examples are to generate access keys for your applications, to generate passwords to login to your various accounts, and more...

The people generator will generate random fictional people information that is useful for test automation where you need to test an application with fictitious people. This API is configurable to let you select the state you want the people to be located in. The addresses are made up randomly but do use actual city names and zip codes for more realistic data. The phone numbers are appropriate for the area code of the city the people are located in. The API could for example be consumed from a Selenium test automation using your code to call the API. We will work on examples of using this API to aid you in your development of these. Please check back later for future posts on the topic.

We hope you find these to be useful and look for future APIs to appear on the store site. Thanks for reading about our efforts and have a blessed day!

Tagged --no tags--
Posted by Michael Horvath under Technology  SQL Server  .Net MVC  Embedded Systems  Test Automation  on Jul 30 2022

We have much experience in software development with a range of application project experience that can translate into productive freelance development. Early in our experiences we worked on embedded systems development where we programmed in a variety of microprocessor assembly languages, Ada, C, C++. We have experience with avionic software, medical device and manufacturing process controls. Embedded systems work was among some of our favorites; however, we also have worked in IT development where we have experience with relational database management systems such as Ingres, Oracle, RBase, and SQL Server. We have developed solutions for Unix and Windows platforms and have experience in working with Flexera's Install Shield software for creating install packages for Windows Desktop Applications. We have developed a variety of desktop applications including winform and Windows Presentation Foundation (WPF) as well as some hybrids of winform with WPF controls.

Our primary interest now is in helping other small businesses in whatever ways they may need. We are open for any ideas that you may have but don't have the in house skills to develop for your business.

Aside from software development work experience we have worked in retail and food service industries in our younger days. This gave us experience in point of sale as well as inventory control and food preparation. These skills may also aid us in developing a solution that will perfectly address an issue you may have in your day to day business.

Thanks for your time and attention to reading our posts on this blog site and may you be blessed today and always!

Tagged --no tags--
Posted by Michael Horvath under Technology  SQL Server  Test Automation  on Dec 07 2020

Today we added a new link to our Complete Person Records page that will allow you to download the records that are displayed on the page in form of a .csv file that you can use in your tests. This .csv file is updated hourly at 38 minutes after the top of the hour so that any records you add to the table by generating new records will be available shortly after the update (00:38, 01:38, 02:38 ... 23:38).



Thanks for reading this post and for downloading data from our site to use in your tests!

Tagged --no tags--