Example #1
0
        public void testPublish()
        {
            var addin = new OrderPublisherAddin();
            var sb    = new StringBuilder(1024);

            sb.Append("ClientOrderID=CS-").Append(DateTime.Now.Millisecond);
            sb.Append("|").Append(ORDER_STRING);

            var response = (string)addin.Pub(sb.ToString());

            Assert.IsNotNull(response, "Failed to send order");
            Assert.IsFalse(response.StartsWith("#Error"), "Order not accepted: " + response);
        }
Example #2
0
        public void testValidateClientOrderID()
        {
            var addin    = new OrderPublisherAddin();
            var response = (string)addin.Pub("clientOrderID=12345678901234567");

            Assert.IsTrue(response.StartsWith("#Error"), "ClientOrderID is too long, but failed validation");
            response = (string)addin.Pub("clientOrderID=123456 890123456");
            Assert.IsTrue(response.StartsWith("#Error"), "ClientOrderID contains space, but failed validation");
            response = (string)addin.Pub("clientOrderID=123456%890123456");
            Assert.IsTrue(response.StartsWith("#Error"), "ClientOrderID contains %, but failed validation");

            response = (string)addin.Pub("clientOrderID=123456890123456");
            Assert.IsFalse(response.StartsWith("#Error"), "ClientOrderID is valid but flagged as error");
        }
        public void testPublishReplaceOrder()
        {
            // disable the loading of the configuration - unit tests get random assembly names
            Configuration.loaded = true;
            var addin = new OrderPublisherAddin();

            WaitFor(Connected, addin.nmsClient, 10000);
            Assert.IsTrue(addin.nmsClient.Connected(), "Failed to connect to broker");

            var sb = CreateOrderAsString();

            var response = (string)addin.PubCancel(sb);

            Assert.IsNotNull(response, "Failed to send order");
            Assert.IsFalse(isFailedPost(response), "Order not accepted: " + response);

            addin.nmsClient.Stop();
            WaitFor(Disconnected, addin.nmsClient, 3000);
        }
        public void TestValidateUserOrderId()
        {
            // disable the loading of the configuration - unit tests get random assembly names
            Configuration.loaded = true;
            var addin    = new OrderPublisherAddin();
            var response = (string)addin.Pub("UserOrderId=UT12345");

            Assert.IsTrue(response.StartsWith("#Error"), "UserOrderId is too long, but failed validation");

            response = (string)addin.Pub("UserOrderId=124 56");
            Assert.IsTrue(response.StartsWith("#Error"), "UserOrderId contains space, but failed validation");
            response = (string)addin.Pub("UserOrderId=126%89");
            Assert.IsTrue(response.StartsWith("#Error"), "UserOrderId contains %, but failed validation");

            response = (string)addin.Pub("UserOrderId=123456|orderDate=" + DateTime.Now.ToShortDateString());
            Assert.IsFalse(response.StartsWith("#Error"), "UserOrderId is valid but flagged as error: " + response);
            addin.nmsClient.Stop();
            WaitFor(Disconnected, addin.nmsClient, 3000);
            Assert.IsFalse(addin.nmsClient.Connected(), "Failed to disconnect from broker");
        }