Exemple #1
0
        public void Setup()
        {
            _fake = new Fake();

            var mocker = _fake.CreateMocker();

            _repo = mocker.CreateInstance <FakeRepository>();
            mocker.Use <IRepository>(_repo);
            mocker.Use <IParallelRepository>(_repo);
            mocker.Use <IGraphBuilder>(new GraphBuilder());

            _graphSchema = new GraphSchemaModel()
            {
                VertexSchema = new List <GraphProfileSectionModel>(),
                EdgeSchema   = new List <GraphRelationshipSchemaModel>()
            };

            var queryService = new Mock <IQueryService>();

            mocker.Use <IQueryService>(queryService);
            queryService.Setup(q => q.Execute(It.IsAny <SchemaQuery>(), It.IsAny <IQueryExecutionContext>()))
            .Returns(() => Task.FromResult(this._graphSchema));

            queryService.Setup(q => q.Execute(It.IsAny <InternalGraphVerticesQuery>(), It.IsAny <IQueryExecutionContext>()))
            .Returns <InternalGraphVerticesQuery, IQueryExecutionContext>(
                (query, user) => new InternalGraphVerticesQueryHandler(_repo).Execute(query));

            queryService.Setup(q => q.Execute(It.IsAny <InternalGraphEdgesQuery>(), It.IsAny <IQueryExecutionContext>()))
            .Returns <InternalGraphEdgesQuery, IQueryExecutionContext>(
                (query, user) => new InternalGraphEdgesQueryHandler(_repo).Execute(query));

            _handler = mocker.CreateInstance <InternalGraphQueryHandler>();
        }
Exemple #2
0
        public void Setup()
        {
            _fake = new Fake();
            var mocker = _fake.CreateMocker();

            _handler            = new MergeDuplicatesCommandHandler(_fake.Clock, mocker.Get <ILog>());
            _handler.UnitOfWork = mocker.UnitOfWork();
            _handler.Events     = new AnonymousAsyncObserver <IEvent>(@event => { return(Task.FromResult(0)); });
            _db = _handler.UnitOfWork.Db;

            a = _fake.AdminVertex;
            b = _fake.OtherVertex;
            c = new Vertex()
            {
                Id        = Guid.Parse("00000000-0000-0000-0000-000000000005"),
                Created   = DateTime.UtcNow,
                NetworkId = _fake.Network.Id
            };
            _handler.UnitOfWork.Db.Vertices.Add(c);
        }
Exemple #3
0
        public void Setup()
        {
            _fake = new Fake();
            var mocker = _fake.CreateMocker();

            var queryService = new Mock <IQueryService>();

            mocker.Use <IQueryService>(queryService);
            queryService.Setup(q => q.Execute(It.IsAny <InternalGraphQuery>(), It.IsAny <IQueryExecutionContext>()))
            .Returns(() =>
            {
                var graph = JsonConvert.DeserializeObject <PropertyGraphModel>(_graph);
                _graph    = JsonConvert.SerializeObject(graph);
                foreach (var vertex in graph.Vertices)
                {
                    vertex.Edges = new List <PropertyEdgeModel>();
                    if (vertex.Props == null)
                    {
                        vertex.Props = new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase);
                    }
                    else
                    {
                        vertex.Props = new Dictionary <string, object>(vertex.Props, StringComparer.OrdinalIgnoreCase);
                    }
                }

                graph.CreateLinks();

                return(Task.FromResult(new ConcurrentGraphModel(graph)));
            });

            mocker.Use <IGraphQueryCompiler>(new GraphQueryCompiler());

            _handler = mocker.CreateInstance <GraphQueryHandler>();

            _graph = @"
                {
                   'Vertices':[
                      {
                         'Id':'00000000-0000-0000-0000-000000000001', 'Props':{ }
                      },
                      {
                         'Id':'00000000-0000-0000-0000-000000000002', 'Props':{ } 
                      },
                      {
                         'Id':'00000000-0000-0000-0000-000000000003', 'Props':{ }
                      },
                      {
                         'Id':'00000000-0000-0000-0000-000000000004', 'Props':{ }
                      },
                      {
                         'Id':'00000000-0000-0000-0000-000000000005', 'Props':{ }
                      },
                      {
                         'Id':'00000000-0000-0000-0000-000000000006', 'Props':{ }
                      },
                      {
                         'Id':'00000000-0000-0000-0000-000000000007', 'Props':{ }
                      },
                      {
                         'Id':'00000000-0000-0000-0000-000000000008', 'Props':{ }
                      },
                      {
                         'Id':'00000000-0000-0000-0000-000000000009', 'Props':{ }
                      },
                      {
                         'Id':'00000000-0000-0000-0000-000000000010', 'Props':{ }
                      }                   
                    ],
                   'Edges':[
                        { Source: 0, Target: 1 },
                        { Source: 0, Target: 6 },
                        { Source: 0, Target: 2 },
                        { Source: 0, Target: 3 },
                        { Source: 0, Target: 5 },
                        { Source: 0, Target: 4 },

                        { Source: 1, Target: 4 },
                        { Source: 1, Target: 6 },
                        { Source: 1, Target: 2 },
                        { Source: 1, Target: 0 },

                        { Source: 2, Target: 6 },
                        { Source: 2, Target: 7 },
                        { Source: 2, Target: 3 },
                        { Source: 2, Target: 0 },
                        { Source: 2, Target: 1 },

                        { Source: 3, Target: 7 },
                        { Source: 3, Target: 5 },
                        { Source: 3, Target: 4 },
                        { Source: 3, Target: 0 },
                        { Source: 3, Target: 2 },

                        { Source: 4, Target: 1 },
                        { Source: 4, Target: 0 },
                        { Source: 4, Target: 3 },
                        { Source: 4, Target: 5 },

                        { Source: 5, Target: 4 },
                        { Source: 5, Target: 0 },
                        { Source: 5, Target: 3 },

                        { Source: 6, Target: 1 },
                        { Source: 6, Target: 0 },
                        { Source: 6, Target: 2 },

                        { Source: 7, Target: 2 },
                        { Source: 7, Target: 3 },
                        { Source: 7, Target: 8 },

                        { Source: 8, Target: 7 },
                        { Source: 8, Target: 9 },

                        { Source: 9, Target: 8 }                     
                   ]
                }
            ";
        }