Skip to content

Commit e185547

Browse files
committed
dev response header
1 parent 70f31a0 commit e185547

35 files changed

Lines changed: 1454 additions & 340 deletions

Src/LineDevelopers.ConsoleTests/Program.cs

Lines changed: 48 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,35 +7,58 @@
77
var config = JsonSerializer.Deserialize<TestConfig>(json);
88

99

10-
11-
12-
using (LineLoginClient client = new LineLoginClient())
10+
using (var test = new LineMessagingClient(config.ChannelAccessToken))
1311
{
14-
var issued = await client.OAuth2dot1.IssueAccessTokenAsync("code", "redirectUrl", "clientId", "secret");
15-
var profile = await client.GetUserProfileAsync(issued.AccessToken);
12+
await test.Message.SendBroadcastMessageAsync(new TextMessage("fdasfds"),
13+
getResponseHeaders:(o) =>
14+
{
15+
IEnumerable<string> xLineRequestId;
16+
IEnumerable<string> xLineAcceptedRequestId;
17+
18+
if (o.TryGetValues("X-Line-Request-Id", out xLineRequestId))
19+
{
20+
Console.WriteLine(xLineRequestId.First());
21+
}
22+
23+
if (o.TryGetValues("X-Line-Accepted-Request-Id", out xLineAcceptedRequestId))
24+
{
25+
Console.WriteLine(xLineAcceptedRequestId.First());
26+
}
27+
});
1628
}
1729

1830

19-
using (var client2 = new LineMessagingClient(config.ChannelAccessToken))
20-
{
21-
try
22-
{
23-
24-
var result = await client2.Bot.GetBotInformationAsync();
25-
26-
Console.WriteLine(result.PremiumId);
27-
Console.WriteLine(result.PictureUrl);
28-
Console.WriteLine($"User ID : {result.UserId}");
29-
Console.WriteLine($"ChatMode : {result.ChatMode}");
30-
Console.WriteLine($"MarkAsReadMode : {result.MarkAsReadMode}");
31-
32-
}
33-
catch (LineCredentialException ex)
34-
{
35-
Console.WriteLine($"error : {ex.Message}");
36-
Console.WriteLine($"error_description : {ex.Detail}");
37-
}
38-
}
31+
32+
33+
//using (LineLoginClient client = new LineLoginClient())
34+
//{
35+
// var issued = await client.OAuth2dot1.IssueAccessTokenAsync("code", "redirectUrl", "clientId", "secret");
36+
// var profile = await client.GetUserProfileAsync(issued.AccessToken);
37+
//}
38+
39+
40+
//using (var client2 = new LineMessagingClient(config.ChannelAccessToken))
41+
//{
42+
// try
43+
// {
44+
45+
// var result = await client2.Bot.GetBotInformationAsync();
46+
47+
// Console.WriteLine(result.PremiumId);
48+
// Console.WriteLine(result.PictureUrl);
49+
// Console.WriteLine($"User ID : {result.UserId}");
50+
// Console.WriteLine($"ChatMode : {result.ChatMode}");
51+
// Console.WriteLine($"MarkAsReadMode : {result.MarkAsReadMode}");
52+
53+
// }
54+
// catch (LineCredentialException ex)
55+
// {
56+
// Console.WriteLine($"error : {ex.Message}");
57+
// Console.WriteLine($"error_description : {ex.Detail}");
58+
// }
59+
//}
60+
61+
3962

4063

4164
//var main = new Main();

Src/LineDevelopers.Tests/LineAccountLinkClientTest.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,27 @@ public async Task IssuLinkTokenWithInvalidParamTest()
1313
That("The value for the 'userId' parameter is invalid", Is.EqualTo(ex.Message), $"{ex.Message}");
1414
}
1515

16+
[Test]
17+
public async Task IssuLinkTokenWithInvalidParamWithXLineRequestIdTest()
18+
{
19+
var ex = ThrowsAsync<LineException>(async() =>
20+
{
21+
await _client.AccountLink.IssueLinkTokenAsync("fdsafdsa",
22+
getResponseHeaders:(o) =>
23+
{
24+
IEnumerable<string> xLineRequestId;
25+
26+
if (o.TryGetValues("X-Line-Request-Id", out xLineRequestId))
27+
{
28+
That(xLineRequestId.First(), Is.Not.Null);
29+
That(xLineRequestId.First(), Is.Not.Empty);
30+
}
31+
});
32+
});
33+
34+
That("The value for the 'userId' parameter is invalid", Is.EqualTo(ex.Message), $"{ex.Message}");
35+
}
36+
1637
[Test]
1738
public void IssuLinkTokenTest()
1839
{

Src/LineDevelopers.Tests/LineBotClientTest.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,28 @@ public void GetBotInformationAsyncTest()
1717
That(result.ChatMode, Is.EqualTo(ChatType.Bot));
1818
});
1919
}
20+
21+
[Test]
22+
public void GetBotInformationAsyncWithXLineRequestIdTest()
23+
{
24+
DoesNotThrowAsync(async () =>
25+
{
26+
var result = await base._client.Bot.GetBotInformationAsync((o) =>
27+
{
28+
IEnumerable<string> xLineRequestId;
29+
30+
if (o.TryGetValues("X-Line-Request-Id", out xLineRequestId))
31+
{
32+
That(xLineRequestId.First(), Is.Not.Null);
33+
That(xLineRequestId.First(), Is.Not.Empty);
34+
}
35+
});
36+
37+
That(result.DisplayName, Is.EqualTo("Atom"));
38+
That(result.MarkAsReadMode, Is.EqualTo(ReadType.Auto));
39+
That(result.ChatMode, Is.EqualTo(ChatType.Bot));
40+
});
41+
}
42+
2043
}
2144
}

Src/LineDevelopers.Tests/LineGroupChatClientTest.cs

Lines changed: 57 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,17 @@ public void GetSummaryAsyncTest()
88
{
99
DoesNotThrowAsync(async () =>
1010
{
11-
var result = await _client.GroupChat.GetSummaryAsync(GROUP_CHAT_ID);
11+
var result = await _client.GroupChat.GetSummaryAsync(GROUP_CHAT_ID,
12+
(o) =>
13+
{
14+
IEnumerable<string> xLineRequestId;
15+
16+
if (o.TryGetValues("X-Line-Request-Id", out xLineRequestId))
17+
{
18+
That(xLineRequestId.First(), Is.Not.Null);
19+
That(xLineRequestId.First(), Is.Not.Empty);
20+
}
21+
});
1222

1323
That(result.GroupName, Is.EqualTo("ㅇㅇ"));
1424
That(result.GroupId, Is.EqualTo(GROUP_CHAT_ID));
@@ -20,7 +30,17 @@ public void GetNumberOfUsersAsyncTest()
2030
{
2131
DoesNotThrowAsync(async () =>
2232
{
23-
var result = await _client.GroupChat.GetNumberOfUsersAsync(GROUP_CHAT_ID);
33+
var result = await _client.GroupChat.GetNumberOfUsersAsync(GROUP_CHAT_ID,
34+
(o) =>
35+
{
36+
IEnumerable<string> xLineRequestId;
37+
38+
if (o.TryGetValues("X-Line-Request-Id", out xLineRequestId))
39+
{
40+
That(xLineRequestId.First(), Is.Not.Null);
41+
That(xLineRequestId.First(), Is.Not.Empty);
42+
}
43+
});
2444

2545
That(result, Is.EqualTo(2), $"{result}");
2646
});
@@ -32,7 +52,17 @@ public void GetMemberUserIdsAsyncTest()
3252
{
3353
DoesNotThrowAsync(async () =>
3454
{
35-
var result = await _client.GroupChat.GetMemberUserIdsAsync(GROUP_CHAT_ID);
55+
var result = await _client.GroupChat.GetMemberUserIdsAsync(GROUP_CHAT_ID,
56+
(o) =>
57+
{
58+
IEnumerable<string> xLineRequestId;
59+
60+
if (o.TryGetValues("X-Line-Request-Id", out xLineRequestId))
61+
{
62+
That(xLineRequestId.First(), Is.Not.Null);
63+
That(xLineRequestId.First(), Is.Not.Empty);
64+
}
65+
});
3666

3767
That(result.MemberIds.Count, Is.EqualTo(2), $"{result.MemberIds.Count}");
3868
});
@@ -43,7 +73,17 @@ public void GetChatMemberProfileAsyncTest()
4373
{
4474
DoesNotThrowAsync(async () =>
4575
{
46-
var result = await _client.GroupChat.GetChatMemberProfileAsync(GROUP_CHAT_ID,USER_ID);
76+
var result = await _client.GroupChat.GetChatMemberProfileAsync(GROUP_CHAT_ID,USER_ID,
77+
(o) =>
78+
{
79+
IEnumerable<string> xLineRequestId;
80+
81+
if (o.TryGetValues("X-Line-Request-Id", out xLineRequestId))
82+
{
83+
That(xLineRequestId.First(), Is.Not.Null);
84+
That(xLineRequestId.First(), Is.Not.Empty);
85+
}
86+
});
4787

4888
That(result.DisplayName, Is.EqualTo("Charles"), $"{result.DisplayName}");
4989
That(result.UserId, Is.EqualTo(USER_ID), $"{result.UserId}");
@@ -54,7 +94,19 @@ public void GetChatMemberProfileAsyncTest()
5494
[Ignore("tested")]
5595
public void LeaveAsyncTest()
5696
{
57-
DoesNotThrowAsync(async () => await _client.GroupChat.LeaveAsync(GROUP_CHAT_ID));
97+
DoesNotThrowAsync(async () =>
98+
{
99+
await _client.GroupChat.LeaveAsync(GROUP_CHAT_ID, (o) =>
100+
{
101+
IEnumerable<string> xLineRequestId;
102+
103+
if (o.TryGetValues("X-Line-Request-Id", out xLineRequestId))
104+
{
105+
That(xLineRequestId.First(), Is.Not.Null);
106+
That(xLineRequestId.First(), Is.Not.Empty);
107+
}
108+
});
109+
});
58110
}
59111
}
60112
}

Src/LineDevelopers.Tests/LineInsightClientTest.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ public async Task GetNumberOfMessageDeliveriesAsync()
1515
var result = await _client.Insight.GetNumberOfMessageDeliveriesAsync(new DateOnly(1977, 10, 31));
1616

1717
That(result.Status, Is.EqualTo(CalculationStatus.OutOfService));
18-
1918
});
2019
}
2120

Src/LineDevelopers.Tests/LineMessageClientTest.cs

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,89 @@ public async Task TextMessageTest()
3535

3636
}
3737

38+
[Test]
39+
public async Task SendPushMessageAsyncWithXLineRequestIdTest()
40+
{
41+
#region arrange
42+
var request = new TextMessage()
43+
{
44+
Text = "push with X-Line-Request-Id Test",
45+
QuickReply = new QuickReply()
46+
{
47+
Items = new List<QuickReplyButtonObject>()
48+
{
49+
new QuickReplyButtonObject()
50+
{
51+
Action = new MessageAction()
52+
{
53+
Label = "test label",
54+
Text = "test text"
55+
}
56+
}
57+
}
58+
}
59+
};
60+
var uuid = Guid.NewGuid().ToString();
61+
#endregion
62+
63+
DoesNotThrowAsync(async () =>
64+
{
65+
await _client.Message.SendPushMessageAsync(USER_ID, request, xLineRetryKey: uuid,
66+
getResponseHeaders:(o) =>
67+
{
68+
IEnumerable<string> xLineRequestId;
69+
70+
if (o.TryGetValues("X-Line-Request-Id", out xLineRequestId))
71+
{
72+
That(xLineRequestId.First(), Is.Not.Null);
73+
That(xLineRequestId.First(), Is.Not.Empty);
74+
}
75+
});
76+
});
77+
}
78+
79+
[Test]
80+
public async Task BroadcastMessageAsyncWithXLineRequestIdTest()
81+
{
82+
#region arrange
83+
var request = new TextMessage()
84+
{
85+
Text = "broadcast with X-Line-Request-Id Test",
86+
QuickReply = new QuickReply()
87+
{
88+
Items = new List<QuickReplyButtonObject>()
89+
{
90+
new QuickReplyButtonObject()
91+
{
92+
Action = new MessageAction()
93+
{
94+
Label = "test label",
95+
Text = "test text"
96+
}
97+
}
98+
}
99+
}
100+
};
101+
var uuid = Guid.NewGuid().ToString();
102+
#endregion
103+
104+
DoesNotThrowAsync(async () =>
105+
{
106+
await _client.Message.SendBroadcastMessageAsync(request, xLineRetryKey: uuid,
107+
getResponseHeaders: (o) =>
108+
{
109+
IEnumerable<string> xLineRequestId;
110+
111+
if (o.TryGetValues("X-Line-Request-Id", out xLineRequestId))
112+
{
113+
That(xLineRequestId.First(), Is.Not.Null);
114+
That(xLineRequestId.First(), Is.Not.Empty);
115+
}
116+
});
117+
});
118+
}
119+
120+
38121
[Test]
39122
public void LocationMessageTest()
40123
{

0 commit comments

Comments
 (0)