public void TestAttributeInfo() { ConnectorAttributeInfoBuilder builder = new ConnectorAttributeInfoBuilder(); builder.Name = ("foo"); builder.ValueType = (typeof(String)); builder.Required = (true); builder.Readable = (true); builder.Creatable = (true); builder.Updateable = (true); builder.MultiValued = (true); builder.ReturnedByDefault = false; ConnectorAttributeInfo v1 = builder.Build(); ConnectorAttributeInfo v2 = (ConnectorAttributeInfo)CloneObject(v1); Assert.AreEqual(v1, v2); Assert.AreEqual("foo", v2.Name); Assert.AreEqual(typeof(String), v2.ValueType); Assert.IsTrue(v2.IsMultiValued); Assert.IsTrue(v2.IsReadable); Assert.IsTrue(v2.IsRequired); Assert.IsTrue(v2.IsUpdateable); Assert.IsTrue(v2.IsCreatable); Assert.IsFalse(v2.IsReturnedByDefault); builder.InfoFlags = AllFlags(); v1 = builder.Build(); v2 = (ConnectorAttributeInfo)CloneObject(v1); Assert.AreEqual(v1, v2); }
public Schema Schema() { SchemaBuilder schemaBuilder = new SchemaBuilder(SafeType <Connector> .Get(this)); ICollection <ConnectorAttributeInfo> connectorAttributeInfos = new List <ConnectorAttributeInfo>(); connectorAttributeInfos.Add(ConnectorAttributeInfoBuilder.Build("User Logon Name")); schemaBuilder.DefineObjectClass(ObjectClass.ACCOUNT_NAME, connectorAttributeInfos); return(schemaBuilder.Build()); }
public virtual Schema Schema() { if (null == _schema) { var builder = new SchemaBuilder(SafeType <Connector> .Get(this)); // Account var accountInfoBuilder = new ObjectClassInfoBuilder(); accountInfoBuilder.AddAttributeInfo(Name.INFO); accountInfoBuilder.AddAttributeInfo(OperationalAttributeInfos.PASSWORD); accountInfoBuilder.AddAttributeInfo(PredefinedAttributeInfos.GROUPS); accountInfoBuilder.AddAttributeInfo(ConnectorAttributeInfoBuilder.Build("firstName")); accountInfoBuilder.AddAttributeInfo( ConnectorAttributeInfoBuilder.Define("lastName").SetRequired(true).Build()); builder.DefineObjectClass(accountInfoBuilder.Build()); // Group var groupInfoBuilder = new ObjectClassInfoBuilder(); groupInfoBuilder.ObjectType = ObjectClass.GROUP_NAME; groupInfoBuilder.AddAttributeInfo(Name.INFO); groupInfoBuilder.AddAttributeInfo(PredefinedAttributeInfos.DESCRIPTION); groupInfoBuilder.AddAttributeInfo( ConnectorAttributeInfoBuilder.Define("members") .SetCreatable(false) .SetUpdateable(false) .SetMultiValued(true) .Build()); // Only the CRUD operations builder.DefineObjectClass(groupInfoBuilder.Build(), SafeType <SPIOperation> .Get <CreateOp>(), SafeType <SPIOperation> .ForRawType(typeof(SearchOp <>)), SafeType <SPIOperation> .Get <UpdateOp>(), SafeType <SPIOperation> .Get <DeleteOp>()); // Operation Options builder.DefineOperationOption(OperationOptionInfoBuilder.BuildAttributesToGet(), SafeType <SPIOperation> .ForRawType(typeof(SearchOp <>))); // Support paged Search builder.DefineOperationOption(OperationOptionInfoBuilder.BuildPageSize(), SafeType <SPIOperation> .ForRawType(typeof(SearchOp <>))); builder.DefineOperationOption(OperationOptionInfoBuilder.BuildPagedResultsCookie(), SafeType <SPIOperation> .ForRawType(typeof(SearchOp <>))); // Support to execute operation with provided credentials builder.DefineOperationOption(OperationOptionInfoBuilder.BuildRunAsUser()); builder.DefineOperationOption(OperationOptionInfoBuilder.BuildRunWithPassword()); _schema = builder.Build(); } return(_schema); }
public Schema Schema() { SchemaBuilder builder = new SchemaBuilder(SafeType <Connector> .Get <TstConnector>()); for (int i = 0; i < 2; i++) { ObjectClassInfoBuilder classBuilder = new ObjectClassInfoBuilder(); classBuilder.ObjectType = ("class" + i); for (int j = 0; j < 200; j++) { classBuilder.AddAttributeInfo(ConnectorAttributeInfoBuilder.Build("attributename" + j, typeof(String))); } builder.DefineObjectClass(classBuilder.Build()); } return(builder.Build()); }
public void TestObjectClassInfo() { ConnectorAttributeInfoBuilder builder = new ConnectorAttributeInfoBuilder(); builder.Name = ("foo"); builder.ValueType = (typeof(String)); builder.Required = (true); builder.Readable = (true); builder.Updateable = (true); builder.MultiValued = (true); ObjectClassInfoBuilder obld = new ObjectClassInfoBuilder(); obld.ObjectType = ObjectClass.ACCOUNT_NAME; obld.IsContainer = true; obld.AddAttributeInfo(builder.Build()); ObjectClassInfo v1 = obld.Build(); ObjectClassInfo v2 = (ObjectClassInfo)CloneObject(v1); Assert.AreEqual(v1, v2); Assert.IsTrue(v2.IsContainer); }