Skip to content

Commit 40baafa

Browse files
committed
✅ Stop using deprecated UIDPlusData in tests
1 parent 2ca79f6 commit 40baafa

File tree

3 files changed

+40
-45
lines changed

3 files changed

+40
-45
lines changed

test/net/imap/fixtures/response_parser/uidplus_extension.yml

Lines changed: 16 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,10 @@
1010
data: !ruby/struct:Net::IMAP::ResponseText
1111
code: !ruby/struct:Net::IMAP::ResponseCode
1212
name: APPENDUID
13-
data: !ruby/struct:Net::IMAP::UIDPlusData
13+
data: !ruby/object:Net::IMAP::AppendUIDData
1414
uidvalidity: 38505
15-
source_uids:
16-
assigned_uids:
17-
- 3955
15+
assigned_uids: !ruby/object:Net::IMAP::SequenceSet
16+
string: '3955'
1817
text: APPEND completed
1918
raw_data: "A003 OK [APPENDUID 38505 3955] APPEND completed\r\n"
2019

@@ -27,16 +26,12 @@
2726
data: !ruby/struct:Net::IMAP::ResponseText
2827
code: !ruby/struct:Net::IMAP::ResponseCode
2928
name: COPYUID
30-
data: !ruby/struct:Net::IMAP::UIDPlusData
29+
data: !ruby/object:Net::IMAP::CopyUIDData
3130
uidvalidity: 38505
32-
source_uids:
33-
- 304
34-
- 319
35-
- 320
36-
assigned_uids:
37-
- 3956
38-
- 3957
39-
- 3958
31+
source_uids: !ruby/object:Net::IMAP::SequenceSet
32+
string: 304,319:320
33+
assigned_uids: !ruby/object:Net::IMAP::SequenceSet
34+
string: 3956:3958
4035
text: Done
4136
raw_data: "A004 OK [COPYUID 38505 304,319:320 3956:3958] Done\r\n"
4237

@@ -48,14 +43,10 @@
4843
data: !ruby/struct:Net::IMAP::ResponseText
4944
code: !ruby/struct:Net::IMAP::ResponseCode
5045
name: APPENDUID
51-
data: !ruby/struct:Net::IMAP::UIDPlusData
46+
data: !ruby/object:Net::IMAP::AppendUIDData
5247
uidvalidity: 2
53-
source_uids:
54-
assigned_uids:
55-
- 4
56-
- 6
57-
- 7
58-
- 9
48+
assigned_uids: !ruby/object:Net::IMAP::SequenceSet
49+
string: 4,6:7,9
5950
text: APPEND completed
6051
raw_data: "A003 OK [APPENDUID 2 4,6:7,9] APPEND completed\r\n"
6152

@@ -71,25 +62,11 @@
7162
data: !ruby/struct:Net::IMAP::ResponseText
7263
code: !ruby/struct:Net::IMAP::ResponseCode
7364
name: COPYUID
74-
data: !ruby/struct:Net::IMAP::UIDPlusData
65+
data: !ruby/object:Net::IMAP::CopyUIDData
7566
uidvalidity: 9999
76-
source_uids:
77-
- 19
78-
- 20
79-
- 495
80-
- 496
81-
- 497
82-
- 498
83-
- 499
84-
- 500
85-
assigned_uids:
86-
- 92
87-
- 93
88-
- 94
89-
- 95
90-
- 96
91-
- 97
92-
- 100
93-
- 101
67+
source_uids: !ruby/object:Net::IMAP::SequenceSet
68+
string: 20:19,500:495
69+
assigned_uids: !ruby/object:Net::IMAP::SequenceSet
70+
string: 92:97,101:100
9471
text: Done
9572
raw_data: "A004 OK [copyUID 9999 20:19,500:495 92:97,101:100] Done\r\n"

test/net/imap/test_imap_uidplus.rb

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@
88
class IMAPUIDPlusTest < Net::IMAP::TestCase
99
include Net::IMAP::FakeServer::TestHelper
1010

11+
def setup
12+
super
13+
Net::IMAP.config.parser_use_deprecated_uidplus_data = false
14+
end
15+
1116
def test_uidplus_appenduid
1217
with_fake_server(select: "INBOX",
1318
extensions: %i[UIDPLUS]) do |server, imap|
@@ -21,7 +26,10 @@ def test_uidplus_appenduid
2126
2227
hello world
2328
EOF
24-
assert_equal([38505, nil, [3955]], resp.data.code.data.to_a)
29+
code = resp.data.code
30+
assert_equal("APPENDUID", code.name)
31+
assert_equal(38505, code.data.uidvalidity)
32+
assert_equal([3955], code.data.assigned_uids.numbers)
2533
assert_equal "APPEND", server.commands.pop.name
2634
end
2735
end
@@ -33,12 +41,13 @@ def test_uidplus_copyuid_multiple
3341
cmd.done_ok code: "COPYUID 38505 3955,3960:3962 3963:3966"
3442
end
3543
resp = imap.uid_copy([3955,3960..3962], 'trash')
44+
code = resp.data.code
3645
cmd = server.commands.pop
3746
assert_equal(["UID COPY", "3955,3960:3962 trash"], [cmd.name, cmd.args])
38-
assert_equal(
39-
[38505, [3955, 3960, 3961, 3962], [3963, 3964, 3965, 3966]],
40-
resp.data.code.data.to_a
41-
)
47+
assert_equal("COPYUID", code.name)
48+
assert_equal(38505, code.data.uidvalidity)
49+
assert_equal([3955, 3960, 3961, 3962], code.data.source_uids.numbers)
50+
assert_equal([3963, 3964, 3965, 3966], code.data.assigned_uids.numbers)
4251
end
4352
end
4453

@@ -49,9 +58,13 @@ def test_uidplus_copyuid_single
4958
cmd.done_ok code: "COPYUID 38505 3955 3967"
5059
end
5160
resp = imap.uid_copy(3955, 'trash')
61+
code = resp.data.code
5262
cmd = server.commands.pop
5363
assert_equal(["UID COPY", "3955 trash"], [cmd.name, cmd.args])
54-
assert_equal([38505, [3955], [3967]], resp.data.code.data.to_a)
64+
assert_equal("COPYUID", code.name)
65+
assert_equal(38505, code.data.uidvalidity)
66+
assert_equal([3955], code.data.source_uids.numbers)
67+
assert_equal([3967], code.data.assigned_uids.numbers)
5568
end
5669
end
5770

test/net/imap/test_response_parser.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ class ResponseParserTest < Net::IMAP::TestCase
1010
include NetIMAPTestHelpers
1111
extend NetIMAPTestHelpers::TestFixtureGenerators
1212

13+
def setup
14+
super
15+
Net::IMAP.config.parser_use_deprecated_uidplus_data = false
16+
end
17+
1318
############################################################################
1419
# Tests that do no more than parse an example response and assert the result
1520
# data has the correct values have been moved to yml test fixtures.

0 commit comments

Comments
 (0)