public async Task GetConfigFromClientWithParent()
        {
            var config = await CaasManager.GetConfigForClientAsync("UITestRunnerChild", "UITest", "Config2");

            Assert.AreEqual(2, config.ConfigId);
            Assert.AreEqual("Config2", config.Key);
            Assert.AreEqual("Value2", config.Value);
        }
        public async Task GetConfig()
        {
            var config = await CaasManager.GetConfigAsync("Config1");

            Assert.AreEqual(1, config.ConfigId);
            Assert.AreEqual("Config1", config.Key);
            Assert.AreEqual("Value1", config.Value);
        }
        public async Task CheckIn()
        {
            await CaasManager.CheckInClient("UITestRunner", "UITest");

            var lastCheckIn = GetLastCheckIn();

            Assert.AreEqual("UITestRunner", lastCheckIn.Client.Identifier);
            Assert.AreEqual("UITest", lastCheckIn.Client.ClientType.Name);
            Assert.IsNull(lastCheckIn.ExtraData);
        }
        public ConfigControllerTests()
        {
            var host = WebHost.CreateDefaultBuilder(null)
                       .UseStartup <Startup>();

            testServer = new TestServer(host);
            client     = testServer.CreateClient();

#if TEST
            CaasManager.Init(client);
#endif
        }
        public async Task CheckInWithExtraData()
        {
            Tuple <double, double> model = new Tuple <double, double>(45, -45);

            await CaasManager.CheckInClient("UITestRunner", "UITest", model);

            var lastCheckIn = GetLastCheckIn();

            Assert.AreEqual("UITestRunner", lastCheckIn.Client.Identifier);
            Assert.AreEqual("UITest", lastCheckIn.Client.ClientType.Name);
            var extraData = JsonConvert.DeserializeObject <Tuple <double, double> >(lastCheckIn.ExtraData);

            Assert.AreEqual(45, extraData.Item1);
            Assert.AreEqual(-45, extraData.Item2);
        }
        public async Task GetAllConfigsForClientWithParent()
        {
            var configs = await CaasManager.GetAllConfigsForClientAsync("UITestRunnerChild", "UITest");

            Assert.AreEqual(2, configs.Count());
        }
        public async Task GetAllConfigs()
        {
            var configs = await CaasManager.GetAllConfigsAsync();

            Assert.AreEqual(3, configs.Count());
        }