public void CreateSobject()
        {
            var referenceId = "TheRecord";

            MockSobject sobject = CreateDefaultMockSobject();

            var builder = _compositeBuilder.CreateSobject(referenceId, sobject);

            Subrequest subrequest = builder.Subrequests.FirstOrDefault();

            Assert.IsNotNull(subrequest);

            string json = SubrequestSerialization.Serialize(subrequest, Formatting.None);

            Assert.That(json.Contains($"\"method\":\"POST\""));
            Assert.That(json.Contains($"\"url\":\"/services/data/v{_salesforceApiVersion}.0/sobjects/{typeof(MockSobject).Name}\""));
            Assert.That(json.Contains($"\"Username\":\"{sobject.Username}\""));
            Assert.That(json.Contains($"\"Security_Token__c\":\"{sobject.SecurityToken}\""));
            Assert.That(json.Contains($"\"referenceId\":\"{referenceId}\""));
            Assert.That(json.Contains($"CreateOnlyField"));

            Assert.That(!json.Contains("Password"));
            Assert.That(!json.Contains("ReadOnlyField"));
            Assert.That(!json.Contains("UpdateOnlyField"));
            Assert.That(!json.Contains("DeleteOnlyField"));
        }
        public static string Serialize(Subrequest subrequest, Formatting formatting = Formatting.Indented)
        {
            var nullValueHandling = NullValueHandling.Ignore;

            if (subrequest.salesforceSerialization == SalesforceSerialization.UPDATE)
            {
                nullValueHandling = NullValueHandling.Include;
            }

            var settings = new JsonSerializerSettings
            {
                ContractResolver  = new SalesforceResolver(subrequest.salesforceSerialization),
                NullValueHandling = nullValueHandling
            };

            var json = JsonConvert.SerializeObject(subrequest.compositeSubrequestBase, formatting, settings);

            return(json);
        }
Exemplo n.º 3
0
        public void RetrieveSobject()
        {
            var referenceId = "NewAccount";
            var accountId   = "12345";

            _builder.RetrieveSobject(referenceId, accountId, out Account accountRef);

            Subrequest subrequest = _builder.Subrequests.FirstOrDefault();

            Assert.IsNotNull(subrequest);
            Assert.AreEqual(SalesforceSerialization.RETRIEVE, subrequest.salesforceSerialization);
            Assert.AreEqual($"@{{{referenceId}.Name}}", accountRef.Name);
            Assert.AreEqual(referenceId, subrequest.compositeSubrequestBase.ReferenceId);
            Assert.AreEqual(CompositeHttpMethod.GET.ToString(), subrequest.compositeSubrequestBase.HttpMethod);

            var url = $"/services/data/v{_appSettings.SalesforceApiVersion}.0/sobjects/{typeof(Account).Name}/{accountId}";

            Assert.AreEqual(url, subrequest.compositeSubrequestBase.Url);
        }
        public void RetrieveSobject()
        {
            var referenceId = "TheRecord";
            var id          = "12345";

            var builder = _compositeBuilder.RetrieveSobject(referenceId, id, out MockSobject objRef);

            Subrequest subrequest = builder.Subrequests.FirstOrDefault();

            Assert.IsNotNull(subrequest);

            string json = SubrequestSerialization.Serialize(subrequest, Formatting.None);

            Assert.That(json.Contains($"\"method\":\"GET\""));
            Assert.That(json.Contains($"\"url\":\"/services/data/v{_salesforceApiVersion}.0/sobjects/{typeof(MockSobject).Name}/{id}\""));
            Assert.That(json.Contains($"\"referenceId\":\"{referenceId}\""));

            Assert.That(!json.Contains("body"));
        }
Exemplo n.º 5
0
        public void CreateSobject()
        {
            var referenceId = "NewAccount";

            var account = new Account
            {
                Name = "Temp"
            };

            _builder.CreateSobject(referenceId, account, out string accountRef);

            Subrequest subrequest = _builder.Subrequests.FirstOrDefault();

            Assert.IsNotNull(subrequest);
            Assert.AreEqual(SalesforceSerialization.CREATE, subrequest.salesforceSerialization);
            Assert.AreEqual($"@{{{referenceId}.id}}", accountRef);
            Assert.AreEqual(referenceId, subrequest.compositeSubrequestBase.ReferenceId);
            Assert.AreEqual(CompositeHttpMethod.POST.ToString(), subrequest.compositeSubrequestBase.HttpMethod);
            Assert.AreEqual($"/services/data/v{_appSettings.SalesforceApiVersion}.0/sobjects/{account.GetType().Name}", subrequest.compositeSubrequestBase.Url);
        }
        public void DeleteSobject()
        {
            var referenceId = "TheRecord";
            var id          = "1qa2ws3ed4rf5tg6yh";

            MockSobject sobject = CreateDefaultMockSobject(id);

            var builder = _compositeBuilder.DeleteSobject <MockSobject>(referenceId, id);

            Subrequest subrequest = builder.Subrequests.FirstOrDefault();

            Assert.IsNotNull(subrequest);

            string json = SubrequestSerialization.Serialize(subrequest, Formatting.None);

            Assert.That(json.Contains($"\"method\":\"DELETE\""));
            Assert.That(json.Contains($"\"url\":\"/services/data/v{_salesforceApiVersion}.0/sobjects/{typeof(MockSobject).Name}/{id}\""));
            Assert.That(json.Contains($"\"referenceId\":\"{referenceId}\""));

            Assert.That(!json.Contains("body"));
        }