Ejemplo n.º 1
0
        partial void DbInit(String databaseName, bool clear)
        {
            using (var channelFactory = new ChannelFactory <IOrderDb>(new NetTcpBinding(), WcfClient.Program.RemoteAddress))
            {
                IOrderDb client = null;
                try
                {
                    client = channelFactory.CreateChannel();
                    client.Reset();
                    if (!clear)
                    {
                        using (var context = OrderContext.Create(databaseName))
                            context.InitDb();

                        client.Init();
                    }
                }
                finally
                {
                    if (client != null)
                    {
                        var clientChannel = (IClientChannel)client;
                        clientChannel.Close();
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public static OrderContext GetOrderContext()
        {
            if (orderContext == null)
            {
                orderContext = OrderContext.Create(GetSiteName());
            }

            return(orderContext);
        }
Ejemplo n.º 3
0
        public async virtual Task Execute <T, TResult>(QueryParametersScalar <T, TResult> parameters)
        {
            IList fromOe = await ExecuteOe <T, TResult>(parameters.Expression, 0);

            IList fromDb;

            using (var dataContext = OrderContext.Create(_databaseName))
                fromDb = TestHelper.ExecuteDb <T, TResult>(dataContext, parameters.Expression);

            TestHelper.Compare(fromDb, fromOe, null);
        }
        public static void RunTest(int testCount)
        {
            SelectTestDefinition[] testDefinitions = SelectTestDefinition.GetSelectTestDefinitions();

            //warming-up
            foreach (SelectTestDefinition testDefinition in testDefinitions)
            {
                using (var dbContext = OrderContext.Create("dummy"))
                    testDefinition.ExecutorDb(dbContext);
            }

            PerformanceCacheOeTest(testDefinitions, testCount, true);
            PerformanceCacheOeTest(testDefinitions, testCount, false);
            PerformanceCacheDbTest(testDefinitions, testCount);
        }
Ejemplo n.º 5
0
        partial void DbInit(String databaseName, bool clear)
        {
            var client = new HttpClient()
            {
                BaseAddress = CreateContainer().BaseUri
            };

            client.SendAsync(new HttpRequestMessage(HttpMethod.Get, "db/reset")).GetAwaiter().GetResult();
            if (!clear)
            {
                using (var context = OrderContext.Create(databaseName))
                    context.InitDb();

                client.SendAsync(new HttpRequestMessage(HttpMethod.Get, "db/init")).GetAwaiter().GetResult();
            }
        }
Ejemplo n.º 6
0
        public async virtual Task Execute <T, TResult>(QueryParameters <T, TResult> parameters)
        {
            IList fromOe = await ExecuteOe <T, TResult>(parameters.Expression, parameters.PageSize);

            List <IncludeVisitor.Include> includes = GetIncludes(parameters.Expression);

            if (typeof(TResult) == typeof(Object))
            {
                fromOe = TestHelper.ToOpenType(fromOe);
            }

            IList fromDb;

            using (var dataContext = OrderContext.Create(_databaseName))
            {
                fromDb = TestHelper.ExecuteDb <T, TResult>(dataContext, parameters.Expression, out IReadOnlyList <IncludeVisitor.Include> includesDb);
                includes.AddRange(includesDb);
            }

            TestHelper.Compare(fromDb, fromOe, includes);
        }
Ejemplo n.º 7
0
        public virtual Task Execute <T, TResult>(QueryParameters <T, TResult> parameters)
        {
            IList fromOe = ExecuteOe <T, TResult>(parameters.Expression);
            IList fromDb;

            using (var dataContext = OrderContext.Create(_databaseName))
                fromDb = TestHelper.ExecuteDb <T, TResult>(dataContext, parameters.Expression);

            var settings = new JsonSerializerSettings()
            {
                ContractResolver      = new TestHelper.TestContractResolver(),
                NullValueHandling     = NullValueHandling.Ignore,
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
            };
            String jsonOe = JsonConvert.SerializeObject(fromOe, settings);
            String jsonDb = JsonConvert.SerializeObject(fromDb, settings);

            Xunit.Assert.Equal(jsonDb, jsonOe);

            return(Task.CompletedTask);
        }
Ejemplo n.º 8
0
 public OrderContext CreateContext()
 {
     return(OrderContext.Create(_databaseName));
 }