示例#1
0
        public MockHttpClientFactory()
        {
            _studentServiceHttpClient = new Lazy <HttpClient>(() =>
            {
                var dg = new DG(
                    new StudentGeneratorFactory(),
                    new DataSchemeMapperConfig {
                    UseCamelCase = true
                });

                //Creates DataScheme based on DgStudentCollection attributes.
                DataScheme scheme = dg.GetFromType <DgStudentCollection>();

                //Generates json random data.
                string jsonData = dg.GenerateJson(scheme);

                var handlerMock = new Mock <HttpMessageHandler>(MockBehavior.Strict);
                handlerMock.Protected()
                .Setup <Task <HttpResponseMessage> >(
                    "SendAsync",
                    ItExpr.IsAny <HttpRequestMessage>(),
                    ItExpr.IsAny <CancellationToken>()
                    )
                .ReturnsAsync(new HttpResponseMessage
                {
                    StatusCode = HttpStatusCode.OK,
                    //Responds with the generated data.
                    Content = new StringContent(jsonData)
                })
                .Verifiable();

                return(new HttpClient(handlerMock.Object));
            });
        }
示例#2
0
        public string GenerateJson(DataScheme scheme)
        {
            var dataProcessor = new DataProcessor(scheme, _generatorFactory);

            var data = dataProcessor.CreateData();

            return(JsonValueObjectSerializer.Serialize(data));
        }
示例#3
0
        public DataProcessor(DataScheme scheme, IGeneratorFactory generatorFactory)
        {
            scheme.ThrowIfNull(nameof(scheme));
            scheme.Root.ThrowIfNull(nameof(scheme.Root));
            scheme.Definitions.ThrowIfNullOrEmpty(nameof(scheme.Definitions));

            _scheme                = scheme;
            _generatorFactory      = generatorFactory ?? throw new ArgumentNullException(nameof(generatorFactory));
            _propertyObjectFactory = new PropertyObjectFactory();
            _randomFactory         = new RandomFactory();
        }
示例#4
0
        void LoadScheme()
        {
            Console.WriteLine("Loading tables");
            OracleCommand    cmd    = QuerryBuilder.Select("TABLE_NAME, COLUMN_NAME, DATA_TYPE", "USER_TAB_COLUMNS");
            OracleDataReader reader = cmd.ExecuteReader();

            reader.Read();
            string tableName = reader.GetString(0);
            Table  temp      = new Table();

            do
            {
                if (tableName != reader.GetString(0))
                {
                    if (temp.Columns.Count > 0)
                    {
                        temp.Columns.Reverse();
                        temp.Name = tableName;
                        DataScheme.Add(tableName, temp);
                    }
                    temp      = new Table();
                    tableName = reader.GetString(0);
                    temp.Columns.Add(new DataTypes.Varchar
                    {
                        Name  = reader.GetString(1),
                        Value = reader.GetString(2)
                    });
                    temp.Name = tableName;
                }
                else
                {
                    temp.Columns.Add(new DataTypes.Varchar
                    {
                        Name  = reader.GetString(1),
                        Value = reader.GetString(2)
                    });
                }
            } while (reader.Read());
            temp.Columns.Reverse();
            DataScheme.Add(tableName, temp);
            reader.Close();
        }