public void ConnectUsingUserIdentity_UIDPW_CtorV1_Discovery()
        {
            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

            string Conn_UserName = System.Environment.GetEnvironmentVariable("XUNITCONNTESTUSERID");
            string Conn_PW       = System.Environment.GetEnvironmentVariable("XUNITCONNTESTPW");
            string Conn_Url      = System.Environment.GetEnvironmentVariable("XUNITCONNTESTURI");

            //Connection params.
            string onlineRegion = string.Empty;
            string orgName      = string.Empty;
            bool   isOnPrem     = false;

            Utilities.GetOrgnameAndOnlineRegionFromServiceUri(new Uri(Conn_Url), out onlineRegion, out orgName, out isOnPrem);

            Assert.NotNull(onlineRegion);
            Assert.NotNull(orgName);
            Assert.False(isOnPrem);

            Uri    orgUri   = new Uri(Conn_Url);
            string hostName = orgUri.Host.Split('.')[0];

            CdsServiceClient client = new CdsServiceClient(Conn_UserName, CdsServiceClient.MakeSecureString(Conn_PW), onlineRegion, hostName, true, null, CdsConnectionStringProcessor.sampleClientId, new Uri(CdsConnectionStringProcessor.sampleRedirectUrl), PromptBehavior.Never);

            Assert.True(client.IsReady, "Failed to Create Connection via Constructor - Discovery");

            // Validate connection
            ValidateConnection(client);
        }
        private void ValidateConnection(CdsServiceClient client)
        {
            // Validate it
            var rslt = client.Execute(new WhoAmIRequest());

            Assert.IsType <WhoAmIResponse>(rslt);

            // Clone it. - Validate use
            using (CdsServiceClient client2 = client.Clone())
            {
                rslt = client2.Execute(new WhoAmIRequest());
                Assert.IsType <WhoAmIResponse>(rslt);
            }

            // Create clone chain an break linkage.
            CdsServiceClient client3 = client.Clone();
            CdsServiceClient client4 = client3.Clone();

            rslt = client3.Execute(new WhoAmIRequest());
            Assert.IsType <WhoAmIResponse>(rslt);
            // dispose client3 explicitly
            client3.Dispose();
            rslt = client4.Execute(new WhoAmIRequest());
            Assert.IsType <WhoAmIResponse>(rslt);
            client4.Dispose();
        }
        public void ImportSolutionTest_AsyncRibbon_ComponetProcessor()
        {
            Mock <IOrganizationService> orgSvc = null;
            Mock <MoqHttpMessagehander> fakHttpMethodHander = null;
            CdsServiceClient            cli = null;

            testSupport.SetupMockAndSupport(out orgSvc, out fakHttpMethodHander, out cli);

            ImportSolutionResponse importResponse = new ImportSolutionResponse();

            orgSvc.Setup(f => f.Execute(It.Is <ImportSolutionRequest>(
                                            (p) =>
                                            p.CustomizationFile != null &&
                                            p.AsyncRibbonProcessing.Equals(true) &&
                                            p.ComponentParameters != null))).Returns(importResponse);

            string SampleSolutionPath = Path.Combine("TestMaterial", "EnvVarsSample_1_0_0_2.zip");

            EntityCollection entCollection = new EntityCollection();

            Dictionary <string, object> importParams = new Dictionary <string, object>();

            importParams.Add(ImportSolutionProperties.ASYNCRIBBONPROCESSING, true);
            importParams.Add(ImportSolutionProperties.COMPONENTPARAMETERSPARAM, entCollection);
            Guid importId = Guid.Empty;
            var  result   = cli.ImportSolutionToCds(SampleSolutionPath, out importId, activatePlugIns: true, extraParameters: importParams);

            Assert.NotEqual(result, Guid.Empty);
        }
        public void CloseTroubleTicketTest()
        {
            Mock <IOrganizationService> orgSvc = null;
            Mock <MoqHttpMessagehander> fakHttpMethodHander = null;
            CdsServiceClient            cli = null;

            testSupport.SetupMockAndSupport(out orgSvc, out fakHttpMethodHander, out cli);


            orgSvc.Setup(f => f.Execute(It.Is <CloseIncidentRequest>(p => p.IncidentResolution is Entity && ((Entity)p.IncidentResolution).GetAttributeValue <string>("subject").Equals("Subject", StringComparison.OrdinalIgnoreCase)))).Returns(new CloseIncidentResponse());

            Guid rslt = cli.CloseTroubleTicket(testSupport._DefaultId, "Subject", "Description");

            Assert.IsType <Guid>(rslt);
            Assert.NotEqual <Guid>(Guid.Empty, rslt);

            rslt = cli.CloseTroubleTicket(Guid.Empty, "Subject", "Description");
            Assert.IsType <Guid>(rslt);
            Assert.Equal <Guid>(Guid.Empty, rslt);

            // try with batch
            // Setup a batch
            string BatchRequestName = "TestBatch";
            Guid   batchid          = cli.CreateBatchOperationRequest(BatchRequestName);

            rslt = cli.CloseTroubleTicket(testSupport._DefaultId, "Subject", "Description", batchId: batchid);
            Assert.IsType <Guid>(rslt);
            Assert.Equal <Guid>(Guid.Empty, rslt);

            // Release batch request
            cli.ReleaseBatchInfoById(batchid);
        }
Example #5
0
        static void Main(string[] args)
        {
            var svc = new CdsServiceClient(ConfigurationManager.AppSettings["ConnectionString"]);

            if (!svc.IsReady)
            {
                return;
            }

            PolyLookup(svc);
            CustomLookup(svc);
        }
        public void CloseOpportunityTest()
        {
            Mock <IOrganizationService> orgSvc = null;
            Mock <MoqHttpMessagehander> fakHttpMethodHander = null;
            CdsServiceClient            cli = null;

            testSupport.SetupMockAndSupport(out orgSvc, out fakHttpMethodHander, out cli);


            orgSvc.Setup(f => f.Execute(It.Is <WinOpportunityRequest>(p => p.OpportunityClose is Entity && ((Entity)p.OpportunityClose).GetAttributeValue <string>("name").Equals("MyName", StringComparison.OrdinalIgnoreCase)))).Returns(new WinOpportunityResponse());
            orgSvc.Setup(f => f.Execute(It.Is <LoseOpportunityRequest>(p => p.OpportunityClose is Entity && ((Entity)p.OpportunityClose).GetAttributeValue <string>("name").Equals("MyName", StringComparison.OrdinalIgnoreCase)))).Returns(new LoseOpportunityResponse());

            Dictionary <string, CdsDataTypeWrapper> inboundData = new Dictionary <string, CdsDataTypeWrapper>();

            inboundData.Add("name", new CdsDataTypeWrapper("MyName", CdsFieldType.String));

            Guid rslt = cli.CloseOpportunity(testSupport._DefaultId, inboundData, opportunityStatusCode: 3);

            Assert.IsType <Guid>(rslt);
            Assert.NotEqual <Guid>(Guid.Empty, rslt);

            rslt = cli.CloseOpportunity(Guid.Empty, inboundData, opportunityStatusCode: 4);
            Assert.IsType <Guid>(rslt);
            Assert.Equal <Guid>(Guid.Empty, rslt);

            rslt = cli.CloseOpportunity(testSupport._DefaultId, inboundData, opportunityStatusCode: 2);
            Assert.IsType <Guid>(rslt);
            Assert.Equal <Guid>(Guid.Empty, rslt);

            rslt = cli.CloseOpportunity(testSupport._DefaultId, inboundData, opportunityStatusCode: 4);
            Assert.IsType <Guid>(rslt);
            Assert.NotEqual <Guid>(Guid.Empty, rslt);

            // Test with projected Activity ID
            inboundData.Add("activityid", new CdsDataTypeWrapper(testSupport._DefaultId, CdsFieldType.Key));
            rslt = cli.CloseOpportunity(testSupport._DefaultId, inboundData, opportunityStatusCode: 4);
            Assert.IsType <Guid>(rslt);
            Assert.NotEqual <Guid>(Guid.Empty, rslt);
            Assert.Equal <Guid>(testSupport._DefaultId, rslt);

            // try with batch
            // Setup a batch
            string BatchRequestName = "TestBatch";
            Guid   batchid          = cli.CreateBatchOperationRequest(BatchRequestName);

            rslt = cli.CloseQuote(testSupport._DefaultId, inboundData, quoteStatusCode: 4, batchId: batchid);
            Assert.IsType <Guid>(rslt);
            Assert.Equal <Guid>(Guid.Empty, rslt);

            // Release batch request
            cli.ReleaseBatchInfoById(batchid);
        }
Example #7
0
 private static void CreateContactRecord(Contact contact, CdsServiceClient svc)
 {
     Console.WriteLine("\n======================================\n");
     try
     {
         var id = svc.Create(contact);
         Console.WriteLine($"Created Contact {contact.LastName} with ID: {id}");
     }
     catch (Exception e)
     {
         Console.WriteLine($"Failed to create contact {contact.LastName}");
         Console.WriteLine(e);
     }
 }