コード例 #1
0
        public async void WithResult()
        {
            await this.SignIn(this.Administrator);

            var data = new DataBuilder(this.Session).WithString("First").Build();

            this.Session.Commit();

            var uri = new Uri(@"allors/pull", UriKind.Relative);

            var extent = new Allors.Data.Filter(M.Data.ObjectType);

            var pullRequest = new PullRequest
            {
                P = new[]
                {
                    new Pull
                    {
                        Extent  = extent.Save(),
                        Results = new[]
                        {
                            new Result {
                                Name = "Datas"
                            },
                        },
                    },
                },
            };

            var response = await this.PostAsJsonAsync(uri, pullRequest);

            var pullResponse = await this.ReadAsAsync <PullResponse>(response);

            var namedCollection = pullResponse.NamedCollections["Datas"];

            Assert.Single(namedCollection);

            var namedObject = namedCollection.First();

            Assert.Equal(data.Id.ToString(), namedObject);

            var objects = pullResponse.Objects;

            Assert.Single(objects);

            var @object = objects[0];

            var acls = new AccessControlLists(this.Administrator);
            var acl  = acls[data];

            Assert.Equal(3, @object.Length);

            Assert.Equal(data.Strategy.ObjectId.ToString(), @object[0]);
            Assert.Equal(data.Strategy.ObjectVersion.ToString(), @object[1]);
            Assert.Equal(this.PrintAccessControls(acl), @object[2]);
        }
コード例 #2
0
ファイル: PullExtentTests.cs プロジェクト: lulzzz/allors2
        public async void WithResult()
        {
            var administrator = new Users(this.Session).GetUser("administrator");

            await this.SignIn(administrator);

            var data = new DataBuilder(this.Session).WithString("First").Build();

            this.Session.Commit();

            var uri = new Uri(@"Pull/Pull", UriKind.Relative);

            var extent = new Allors.Data.Filter(M.Data.ObjectType);

            var pullRequest = new PullRequest
            {
                P = new[]
                {
                    new Pull
                    {
                        Extent  = extent.Save(),
                        Results = new[]
                        {
                            new Result {
                                Name = "Datas"
                            },
                        },
                    }
                }
            };

            var response = await this.PostAsJsonAsync(uri, pullRequest);

            var pullResponse = await this.ReadAsAsync <PullResponse>(response);

            var organisations = pullResponse.NamedCollections["Datas"];

            Assert.Single(organisations);

            var dataId = organisations.First();

            Assert.Equal(data.Id.ToString(), dataId);
        }