Esempio n. 1
0
        public static async Task ToDTO_FieldIsYesNo_ReturnsCorrectValue(this IObjectManager manager, IHelper helper, int workspaceId, int docId)
        {
            //ARRANGE
            var fieldGuid = Guid.Parse(DocumentFieldDefinitions.YesNo);
            var client    = helper.GetRSAPIClient(workspaceId);

            client.Repositories.Document.UpdateSingle(new Document(docId)
            {
                Fields = new List <FieldValue>
                {
                    new FieldValue(fieldGuid, true)
                }
            });

            //ACT
            var obj = SharedTestCases.CreateTestObject(
                docId,
                new FieldRef(fieldGuid),
                true);
            var result = await manager.ReadAsync(workspaceId, obj, null);

            var dto        = result.ToDTODocument();
            var fieldValue = dto[fieldGuid].ValueAsYesNo;

            //ASSERT
            Assert.True(fieldValue);
            Assert.Equal(kCura.Relativity.Client.FieldType.YesNo, dto[fieldGuid].FieldType);
        }
Esempio n. 2
0
        public async Task UpdateAsync_CallingContextArtifactIdSet_ReturnsCorrectStatus()
        {
            //ARRANGE
            var fieldGuid = Guid.Parse(DocumentFieldDefinitions.FixedLength);

            _creation.Create(_fixture.WorkspaceId, 1);
            _installFixture.Init(_fixture.WorkspaceId, ApplicationInstallContext.FieldTestPath);
            var client = _fixture.Helper.GetServicesManager().CreateProxy <IRSAPIClient>(Relativity.API.ExecutionIdentity.System);

            client.APIOptions.WorkspaceID = _fixture.WorkspaceId;

            var query = new Query <Layout>();

            query.Condition = new TextCondition(LayoutFieldNames.TextIdentifier, TextConditionEnum.EqualTo, "Default Test Layout");
            query.Fields    = FieldValue.AllFields;
            var layout = client.Repositories.Layout.Query(query).Results.First().Artifact;

            //ACT
            var obj = SharedTestCases.CreateTestObject(
                _creation.DocIds.First(),
                new FieldRef(fieldGuid),
                "hello world");

            var result = await _manager.UpdateAsync(_fixture.WorkspaceId, obj, new Interfaces.CallingContext
            {
                Layout = new Interfaces.LayoutRef(layout.Name, layout.ArtifactID)
            });

            //ASSERT
            Assert.True(result.EventHandlerStatuses.All(x => x.Success));
        }
        public static async Task <RelativityObject> ReadAsync_CallingContextSetLayoutHasPreload_ReturnsCorrectLoadedFields(this IObjectManager manager, IHelper helper, int workspaceId, int docId)
        {
            var fieldGuid = Guid.Parse(DocumentFieldDefinitions.LongText);

            var client = helper.GetServicesManager().CreateProxy <IRSAPIClient>(Relativity.API.ExecutionIdentity.System);

            client.APIOptions.WorkspaceID = workspaceId;

            var query = new Query <Layout>();

            query.Condition = new WholeNumberCondition(LayoutFieldNames.ObjectType, NumericConditionEnum.EqualTo, 10);
            query.Fields    = FieldValue.AllFields;
            var layout = client.Repositories.Layout.Query(query)
                         .Results
                         .First(x => x.Artifact.Guids.Contains(Guid.Parse(LayoutDefinitions.PreloadPopulatesLongText))).Artifact;

            var obj = SharedTestCases.CreateTestObject(
                docId,
                new FieldRef(fieldGuid),
                true);

            var result = await manager.ReadAsync(workspaceId, obj, new Interfaces.CallingContext
            {
                Layout = new Interfaces.LayoutRef(layout.Name, layout.ArtifactID)
            });

            return(result);
        }
Esempio n. 4
0
        public static async Task ToDTO_FieldIsUser_ReturnsCorrectValue(this IObjectManager manager, IHelper helper, int workspaceId, int docId)
        {
            //ARRANGE
            var fieldGuid = Guid.Parse(DocumentFieldDefinitions.User);

            var client = helper.GetRSAPIClient(workspaceId);

            client.APIOptions.WorkspaceID = -1;

            var q = new Query <Group>();

            q.ArtifactTypeID = (int)kCura.Relativity.Client.ArtifactType.Group;
            q.Condition      = new kCura.Relativity.Client.CompositeCondition(new kCura.Relativity.Client.WholeNumberCondition(GroupFieldNames.GroupType, kCura.Relativity.Client.NumericConditionEnum.EqualTo, 2),
                                                                              kCura.Relativity.Client.CompositeConditionEnum.And,
                                                                              new kCura.Relativity.Client.ObjectsCondition(GroupFieldNames.Workspaces, kCura.Relativity.Client.ObjectsConditionEnum.AnyOfThese, new int[] { workspaceId }));
            var res = client.Repositories.Group.Query(q);

            var userQ = new Query <kCura.Relativity.Client.DTOs.User>();

            userQ.Condition = new kCura.Relativity.Client.ObjectsCondition(UserFieldNames.Groups, kCura.Relativity.Client.ObjectsConditionEnum.AnyOfThese, res.Results.Select(x => x.Artifact.ArtifactID).ToList());
            var userRes = client.Repositories.User.Query(userQ);

            if (userRes.TotalCount < 1)
            {
                //ideally you'd create a user in this but that's too much for the scope of this work
                throw new NotSupportedException("No user to run this test, please create a non system admin and ensure the group is assigned to the workspace.");
            }
            var value = userRes.Results.First().Artifact;

            client.APIOptions.WorkspaceID = workspaceId;
            client.Repositories.Document.UpdateSingle(new Document(docId)
            {
                Fields = new List <FieldValue>
                {
                    new FieldValue(fieldGuid, value)
                }
            });

            //ACT
            var obj = SharedTestCases.CreateTestObject(
                docId,
                new FieldRef(fieldGuid),
                true);
            var result = await manager.ReadAsync(workspaceId, obj, null);

            var dto        = result.ToDTODocument();
            var fieldValue = dto[fieldGuid].ValueAsUser;

            //ASSERT
            Assert.Equal(value.ArtifactID, fieldValue.ArtifactID);
            Assert.Equal(kCura.Relativity.Client.FieldType.User, dto[fieldGuid].FieldType);
        }
        public static async Task CreateAsync_SanityCheckRDO_ReturnsSuccess(this IObjectManager manager, IHelper helper, int workspaceId, Guid objectTypeGuid)
        {
            //ARRANGE
            var fieldGuid    = Guid.Parse(SingleObjectFieldDefinitions.LongText);
            var fieldValue   = "Asdf";
            var dbContext    = helper.GetDBContext(workspaceId);
            var sql          = "select o.[DescriptorArtifactTypeID] from [eddsdbo].[ObjectType] o join [eddsdbo].[ArtifactGuid] ag on o.artifactId = ag.ArtifactID where ag.ArtifactGuid = @guid";
            var objectTypeId = dbContext.ExecuteSqlStatementAsScalar <int?>(sql, new[] { new SqlParameter("@guid", objectTypeGuid) });

            var artifact = SharedTestCases.CreateTestObject(null, new FieldRef(fieldGuid), fieldValue, objectTypeId);

            //ACT
            var result = await manager.CreateAsync(workspaceId, artifact, null);

            artifact.ArtifactId = result.Object.ArtifactId;
            var readResult = await manager.ReadAsync(workspaceId, artifact, null);

            //ASSERT
            Assert.Equal(fieldValue, result.Object[fieldGuid].ValueAsString());
        }
Esempio n. 6
0
        public static async Task ToDTO_FieldIsMultiObject_ReturnsCorrectValue(this IObjectManager manager, IHelper helper, int workspaceId, int docId)
        {
            //ARRANGE
            var fieldGuid = Guid.Parse(DocumentFieldDefinitions.MultiObject);

            var client = helper.GetRSAPIClient(workspaceId);
            var rdo    = client.Repositories.RDO.CreateSingle(new RDO
            {
                ArtifactTypeGuids = new List <Guid> {
                    Guid.Parse(ObjectTypeGuids.MultiObject)
                },
                TextIdentifier = Guid.NewGuid().ToString()
            });
            var value = new RDO(rdo);

            client.Repositories.Document.UpdateSingle(new Document(docId)
            {
                Fields = new List <FieldValue>
                {
                    new FieldValue(fieldGuid, new FieldValueList <Artifact>(value))
                }
            });

            //ACT
            var obj = SharedTestCases.CreateTestObject(
                docId,
                new FieldRef(fieldGuid),
                true);
            var result = await manager.ReadAsync(workspaceId, obj, null);

            var dto        = result.ToDTODocument();
            var fieldValue = dto[fieldGuid].GetValueAsMultipleObject <Artifact>().First();

            //ASSERT
            Assert.Equal(value.ArtifactID, fieldValue.ArtifactID);
            Assert.Equal(kCura.Relativity.Client.FieldType.MultipleObject, dto[fieldGuid].FieldType);
        }