Skip to content

Commit d65381c

Browse files
Added 'url_target_v2' to Target Json Converter to return HttpTarget (#470)
because for some reason zendesk return HttpTargets with this type. But the docs still say http_target. Co-authored-by: Elizabeth Schneider <elizabeth@speedy-geek.com>
1 parent 89d32c7 commit d65381c

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

src/ZendeskApi_v2/Serialization/TargetJsonConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ protected override BaseTarget Create(Type objectType, JObject jsonObject)
3333
return new URLTarget();
3434
case "http_target":
3535
return new HTTPTarget();
36+
case "url_target_v2":
37+
return new HTTPTarget();
3638
default:
3739
return null;
3840
}

test/ZendeskApi_v2.Test/TargetTests.cs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using NUnit.Framework;
22
using System.Linq;
3+
using System.Net;
34
using ZendeskApi_v2;
45
using ZendeskApi_v2.Models.Targets;
56

@@ -24,6 +25,39 @@ public void Init()
2425
}
2526
}
2627

28+
[Test]
29+
public void CanCreateUpdateAndDeleteHttpTargets()
30+
{
31+
var target = new HTTPTarget()
32+
{
33+
Title = "Test Email Target",
34+
Active = false,
35+
TargetUrl= "https://test.com",
36+
ContentType = "application/json",
37+
Method = "post",
38+
Username = "TestUser",
39+
Password = "TestPass"
40+
};
41+
42+
var targetResult = (HTTPTarget)api.Targets.CreateTarget(target).Target;
43+
Assert.IsNotNull(targetResult);
44+
Assert.IsInstanceOf<HTTPTarget>(targetResult);
45+
Assert.IsFalse(targetResult.Active);
46+
Assert.AreEqual("https://test.com", targetResult.TargetUrl);
47+
Assert.AreEqual("http_target", targetResult.Type);
48+
Assert.AreEqual("application/json", targetResult.ContentType);
49+
Assert.AreEqual("post", targetResult.Method);
50+
Assert.AreEqual("TestUser", targetResult.Username);
51+
Assert.IsNull(targetResult.Password);
52+
53+
targetResult.Active = true;
54+
55+
var update = (HTTPTarget)api.Targets.UpdateTarget(targetResult).Target;
56+
Assert.AreEqual(targetResult.Active, update.Active);
57+
58+
Assert.True(api.Targets.DeleteTarget(update.Id.Value));
59+
}
60+
2761
[Test]
2862
public void CanCreateUpdateAndDeleteTargets()
2963
{

0 commit comments

Comments
 (0)