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); }
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")); }
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")); }