private static IncrementController CreateControllerInstance()
        {
            IncrementController controller = new IncrementController();

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();
            return(controller);
        }
Esempio n. 2
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            WinForm     form       = new WinForm();
            IModel      model      = new ModelList();
            IController controller = new IncrementController(model, form);

            Application.Run(form);
        }
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            ActiveMVCForm view = new ActiveMVCForm();
            IModel        mdl  = new IncrementModel();
            IController   cnt  = new IncrementController(view, mdl);

            Application.Run(view);
        }
Esempio n. 4
0
        public void DeleteIncrementTest()
        {
            // Arrange
            string key = "validkey";
            IncrementController controller = CreateControllerInstance();

            // Act
            var result = (OkObjectResult)controller.Delete(key);

            //Assert
            Assert.AreEqual(200, result.StatusCode);
        }
Esempio n. 5
0
        public void DeleteIncrementWithInvalidKeyTest()
        {
            // Arrange
            string key = "badkey!!";
            IncrementController controller = CreateControllerInstance();

            // Act
            var result = (BadRequestObjectResult)controller.Delete(key);

            //Assert
            Assert.AreEqual(400, result.StatusCode);
            Assert.AreEqual("Increment Key is not valid.", result.Value.ToString(), true); // true == ignore case
        }
Esempio n. 6
0
        public void AddNewIncrementTest()
        {
            // Arrange
            string key = "addkeytest";
            IncrementController controller = CreateControllerInstance();

            // Act
            var result = (CreatedResult)controller.Put(key);

            //Assert
            Assert.AreEqual(201, result.StatusCode);
            Assert.AreEqual($"{_RequestScheme}://{_RequestHostname}/Increment/{key}", result.Location);
        }
Esempio n. 7
0
        public void AddNewIncrementWithInvalidInitialCountTest()
        {
            // Arrange
            string key                     = "validkey";
            long   initialCount            = -1;
            IncrementController controller = CreateControllerInstance();

            // Act
            var result = (BadRequestObjectResult)controller.Put(key, initialCount);

            //Assert
            Assert.AreEqual(400, result.StatusCode);
            Assert.AreEqual("Invalid Initial Count.", result.Value.ToString(), true); // true == ignore case
        }
Esempio n. 8
0
        public void GetAllTest()
        {
            // Arrange
            IncrementController controller = CreateControllerInstance();

            // Act
            ActionResult <IncrementRow> actionResult = controller.Get();
            var result = (OkObjectResult)actionResult.Result;
            var value  = (List <IncrementRow>)result.Value;

            //Assert
            Assert.AreEqual(200, result.StatusCode);
            Assert.AreEqual(2, value.Count);
            Assert.AreEqual(IncrementModelMock.DefaultKeyOne, value[0].Key);
            Assert.AreEqual(IncrementModelMock.DefaultKeyTwo, value[1].Key);
        }
Esempio n. 9
0
        public void GetWithKeyTest()
        {
            // Arrange
            string key = "validkey";
            IncrementController controller = CreateControllerInstance();

            // Act
            ActionResult <IncrementRow> actionResult = controller.Get(key);
            var result = (OkObjectResult)actionResult.Result;
            var value  = (List <IncrementRow>)result.Value;

            //Assert
            Assert.AreEqual(200, result.StatusCode);
            Assert.AreEqual(key, value[0].Key);
            Assert.AreEqual(IncrementModelMock.DefaultLastUsedTime, value[0].LastUsed);
            Assert.AreEqual(IncrementModelMock.DefaultPreviousValue, value[0].PreviousValue);
        }
        public void GetASpecificKeyTest()
        {
            string keyName = "specifickeytest";
            var    input   = new Increment()
            {
                Key = keyName, InitialStart = 2, IsDeletable = true
            };
            IncrementController controller = CreateControllerInstance();

            controller.Delete(keyName); // delete the key if it exists and recreate...
            controller.Post(input);

            long result = GetLongfromHttpResponse(controller.Get(keyName));

            Assert.AreEqual(input.InitialStart + 1, result); // we just did a GET, so the returned value should be InitialStart + 1

            controller.Delete(keyName);                      // test cleanup
        }
        public void GetAllKeysTest()
        {
            string keyName = "getallkeystest";
            var    input   = new Increment()
            {
                Key = keyName, InitialStart = 0, IsDeletable = true
            };
            IncrementController controller = CreateControllerInstance();

            // delete the key if it exists and recreate...
            controller.Delete(keyName);
            controller.Post(input);

            List <string> keyList = GetStringListFromHttpResponse(controller.Get());

            CollectionAssert.Contains(keyList, keyName); // verify keyName was added

            controller.Delete(keyName);                  // test cleanup
        }
        public void DeleteAKeyTest()
        {
            string keyName = "deletekeytest";
            var    input   = new Increment()
            {
                Key = keyName, InitialStart = -5, IsDeletable = true
            };
            IncrementController controller = CreateControllerInstance();

            controller.Post(input);

            List <string> keys = GetStringListFromHttpResponse(controller.Get());

            CollectionAssert.Contains(keys, keyName);       // verify the key was created

            controller.Delete(keyName);

            keys = GetStringListFromHttpResponse(controller.Get());
            CollectionAssert.DoesNotContain(keys, keyName); // verify keyName was removed
        }
Esempio n. 13
0
        // ----------------- END OF TESTS -------------------

        private static IncrementController CreateControllerInstance()
        {
            var model = new IncrementModelMock();

            var httpContext = new DefaultHttpContext();

            httpContext.Request.Scheme = _RequestScheme;
            httpContext.Request.Host   = new HostString(_RequestHostname);

            var controllerContext = new ControllerContext()
            {
                HttpContext = httpContext
            };

            IncrementController controller = new IncrementController(new NullLogger <IncrementController>(), model)
            {
                ControllerContext = controllerContext
            };

            return(controller);
        }
        public void PostNewKeyTest()
        {
            // Arrange
            string keyName = "addkeytest";
            var    input   = new Increment()
            {
                Key = keyName, InitialStart = 0, IsDeletable = true
            };
            IncrementController controller = CreateControllerInstance();

            // delete the key if it exists and recreate...
            controller.Delete(keyName);
            controller.Post(input);

            long result = GetLongfromHttpResponse(controller.Get(keyName));

            Assert.AreEqual(input.InitialStart + 1, result);    // we just did a GET, so the returned value should be InitialStart + 1

            controller.Delete(keyName);
            List <string> keyList = GetStringListFromHttpResponse(controller.Get());

            CollectionAssert.DoesNotContain(keyList, keyName);  // verify keyName was removed
        }