=== Test case: inbox_extensions_SUITE:read_unread_entry_set_to_read_iq_id_as_fallback/1 (click for source code)
=== Config value:
[{watchdog,<0.4121.1>},
{inbox_opts,#{aff_changes => true,
async_writer => #{pool_size => 8},
backend => rdbms,bin_clean_after => 3600000,bin_ttl => 30,
boxes => [<<"inbox">>,<<"archive">>,<<"bin">>,<<"other">>],
delete_domain_limit => infinity,
groupchat => [muclight],
iqdisc => no_queue,max_result_limit => infinity,
remove_on_kicked => true,
reset_markers => [<<"displayed">>]}},
{preset,"pgsql_mnesia"},
{mim_data_dir,"/home/circleci/project/big_tests/tests/inbox_extensions_SUITE_data"},
{tc_logfile,"/home/circleci/project/big_tests/ct_report/ct_run.test@66ba8aece5c9.2024-03-13_08.17.22/big_tests.tests.inbox_extensions_SUITE.logs/run.2024-03-13_08.26.57/inbox_extensions_suite.read_unread_entry_set_to_read_iq_id_as_fallback.41476.html"},
{tc_group_properties,[{name,one_to_one},parallel]},
{tc_group_path,[[{name,regular}]]},
{data_dir,"/home/circleci/project/big_tests/_build/default/lib/mongoose_tests/ebin/inbox_extensions_SUITE_data/"},
{priv_dir,"/home/circleci/project/big_tests/ct_report/ct_run.test@66ba8aece5c9.2024-03-13_08.17.22/big_tests.tests.inbox_extensions_SUITE.logs/run.2024-03-13_08.26.57/log_private/"},
{{saved_modules,mongooseim@localhost,<<"test type">>},
#{mod_adhoc => #{iqdisc => one_queue,report_commands_node => false},
mod_amp => #{},
mod_bosh =>
#{backend => mnesia,inactivity => 30,max_pause => 120,
max_wait => infinity,server_acks => false},
mod_cache_users =>
#{number_of_segments => 5,strategy => fifo,time_to_live => 2},
mod_carboncopy => #{iqdisc => no_queue},
mod_disco =>
#{extra_domains => [],iqdisc => one_queue,server_info => [],
users_can_see_hidden_services => false},
mod_presence => #{},
mod_register =>
#{access => register,
ip_access => [{allow,"127.0.0.0/8"},{deny,"0.0.0.0/0"}],
iqdisc => one_queue,password_strength => 0,
registration_watchers => []},
mod_roster =>
#{backend => rdbms,iqdisc => one_queue,store_current_id => false,
versioning => false},
mod_sic => #{iqdisc => one_queue},
mod_stream_management =>
#{ack => true,ack_freq => 1,backend => mnesia,buffer => true,
buffer_max => 100,resume_timeout => 600,
stale_h =>
#{enabled => false,geriatric => 3600,repeat_after => 1800}},
mod_vcard =>
#{backend => rdbms,
host => {prefix,<<"vjud.">>},
iqdisc => parallel,matches => 30,search => true}}},
{escalus_users,[{alice,[{username,<<"alicE">>},
{server,<<"domain.example.com">>},
{host,<<"localhost">>},
{password,<<"matygrysa">>}]},
{bob,[{username,<<"bOb">>},
{server,<<"domain.example.com">>},
{host,<<"localhost">>},
{password,<<"makrolika">>}]},
{kate,[{username,<<"kate">>},
{server,<<"domain.example.com">>},
{host,<<"localhost">>},
{password,<<"makrowe;p">>}]},
{mike,[{username,<<"mike">>},
{server,<<"domain.example.com">>},
{host,<<"localhost">>},
{password,<<"nicniema">>}]}]}]
=== Current directory is "/home/circleci/project/big_tests/ct_report/ct_run.test@66ba8aece5c9.2024-03-13_08.17.22"
=== Started at 2024-03-13 08:26:57
*** User 2024-03-13 08:26:57.683 ***🔗
alicE_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<stream:stream to='domain.example.com' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2024-03-13 08:26:57.684 ***🔗
alicE_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='e4f79d0c6b66361f' from='domain.example.com' version='1.0' xml:lang='en'>
*** User 2024-03-13 08:26:57.684 ***🔗
alicE_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<stream:features>
<register xmlns='http://jabber.org/features/iq-register'/>
<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
<mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
<mechanism>SCRAM-SHA-256</mechanism>
<mechanism>PLAIN</mechanism>
</mechanisms>
<amp xmlns='http://jabber.org/feature/amp'/>
<sm xmlns='urn:xmpp:sm:3'/>
</stream:features>
*** User 2024-03-13 08:26:57.685 ***🔗
alicE_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>AGFsaWNFX3JlYWRfdW5yZWFkX2VudHJ5X3NldF90b19yZWFkX2lxX2lkX2FzX2ZhbGxiYWNrXzE3MDEAbWF0eWdyeXNh</auth>
*** User 2024-03-13 08:26:57.686 ***🔗
alicE_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
*** User 2024-03-13 08:26:57.686 ***🔗
alicE_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<stream:stream to='domain.example.com' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2024-03-13 08:26:57.687 ***🔗
alicE_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='8bee22509993e24d' from='domain.example.com' version='1.0' xml:lang='en' to='alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com'>
*** User 2024-03-13 08:26:57.687 ***🔗
alicE_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<stream:features>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/>
<register xmlns='http://jabber.org/features/iq-register'/>
<amp xmlns='http://jabber.org/feature/amp'/>
<sm xmlns='urn:xmpp:sm:3'/>
</stream:features>
*** User 2024-03-13 08:26:57.687 ***🔗
alicE_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<iq type='set' id='d995f6cc0ed05163055e86c1faef0bf4'>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
<resource>res1</resource>
</bind>
</iq>
*** User 2024-03-13 08:26:57.688 ***🔗
alicE_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<iq id='d995f6cc0ed05163055e86c1faef0bf4' type='result'>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
<jid>alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1</jid>
</bind>
</iq>
*** User 2024-03-13 08:26:57.688 ***🔗
alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<iq type='set' id='159d81fac81e3cb10c4b5978c768de29'>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
</iq>
*** User 2024-03-13 08:26:57.689 ***🔗
alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<iq from='domain.example.com' to='alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' id='159d81fac81e3cb10c4b5978c768de29' type='result'>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
</iq>
*** User 2024-03-13 08:26:57.689 ***🔗
alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<presence/>
*** User 2024-03-13 08:26:57.690 ***🔗
alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<presence from='alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' to='alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1'/>
*** User 2024-03-13 08:26:57.692 ***🔗
bOb_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<stream:stream to='domain.example.com' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2024-03-13 08:26:57.692 ***🔗
bOb_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='12195f0cd644a18e' from='domain.example.com' version='1.0' xml:lang='en'>
*** User 2024-03-13 08:26:57.692 ***🔗
bOb_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<stream:features>
<register xmlns='http://jabber.org/features/iq-register'/>
<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
<mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
<mechanism>SCRAM-SHA-256</mechanism>
<mechanism>PLAIN</mechanism>
</mechanisms>
<amp xmlns='http://jabber.org/feature/amp'/>
<sm xmlns='urn:xmpp:sm:3'/>
</stream:features>
*** User 2024-03-13 08:26:57.692 ***🔗
bOb_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>AGJPYl9yZWFkX3VucmVhZF9lbnRyeV9zZXRfdG9fcmVhZF9pcV9pZF9hc19mYWxsYmFja18xNzAxAG1ha3JvbGlrYQ==</auth>
*** User 2024-03-13 08:26:57.693 ***🔗
bOb_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
*** User 2024-03-13 08:26:57.693 ***🔗
bOb_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<stream:stream to='domain.example.com' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2024-03-13 08:26:57.694 ***🔗
bOb_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='445b4ec49a03c1c2' from='domain.example.com' version='1.0' xml:lang='en' to='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com'>
*** User 2024-03-13 08:26:57.694 ***🔗
bOb_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<stream:features>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/>
<register xmlns='http://jabber.org/features/iq-register'/>
<amp xmlns='http://jabber.org/feature/amp'/>
<sm xmlns='urn:xmpp:sm:3'/>
</stream:features>
*** User 2024-03-13 08:26:57.694 ***🔗
bOb_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<iq type='set' id='bd272f9c8a691b5638a6dc0943d1b1c7'>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
<resource>res1</resource>
</bind>
</iq>
*** User 2024-03-13 08:26:57.694 ***🔗
bOb_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<iq id='bd272f9c8a691b5638a6dc0943d1b1c7' type='result'>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
<jid>bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1</jid>
</bind>
</iq>
*** User 2024-03-13 08:26:57.694 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<iq type='set' id='f9ee48e861aeb0a04e74ee461ddff723'>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
</iq>
*** User 2024-03-13 08:26:57.695 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<iq from='domain.example.com' to='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' id='f9ee48e861aeb0a04e74ee461ddff723' type='result'>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
</iq>
*** User 2024-03-13 08:26:57.695 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<presence/>
*** User 2024-03-13 08:26:57.696 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<presence from='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' to='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1'/>
*** User 2024-03-13 08:26:57.696 ***🔗
alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<message to='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' type='chat' id='c59c49c19218c9937ffbec61f93067d7'>
<body>Hi Bob</body>
</message>
*** User 2024-03-13 08:26:57.699 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<message from='alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' to='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' type='chat' id='c59c49c19218c9937ffbec61f93067d7'>
<body>Hi Bob</body>
</message>
*** User 2024-03-13 08:26:57.699 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<iq type='set' id='b16bbdc39b23c1a1a1dded45f1fc7aa7'>
<inbox xmlns='erlang-solutions.com:xmpp:inbox:0'>
<x xmlns='jabber:x:data' type='submit'>
<field type='hidden' var='FORM_TYPE'>
<value>erlang-solutions.com:xmpp:inbox:0</value>
</field>
<field type='text-single' var='hidden_read'>
<value>false</value>
</field>
</x>
</inbox>
</iq>
*** User 2024-03-13 08:26:57.700 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<message from='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com' to='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' id='1710-318417-700203'>
<result xmlns='erlang-solutions.com:xmpp:inbox:0' unread='1' queryid='b16bbdc39b23c1a1a1dded45f1fc7aa7'>
<forwarded xmlns='urn:xmpp:forward:0'>
<delay xmlns='urn:xmpp:delay' stamp='2024-03-13T08:26:57.696681Z'/>
<message from='alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' to='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' type='chat' id='c59c49c19218c9937ffbec61f93067d7'>
<body>Hi Bob</body>
</message>
</forwarded>
<read>false</read>
<box>inbox</box>
<archive>false</archive>
<mute>0</mute>
</result>
</message>
*** User 2024-03-13 08:26:57.700 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<iq from='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com' to='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' id='b16bbdc39b23c1a1a1dded45f1fc7aa7' type='result'>
<fin xmlns='erlang-solutions.com:xmpp:inbox:0'>
<set xmlns='http://jabber.org/protocol/rsm'>
<first>1710318417696681/YWxpY2VfcmVhZF91bnJlYWRfZW50cnlfc2V0X3RvX3JlYWRfaXFfaWRfYXNfZmFsbGJhY2tfMTcwMUBkb21haW4uZXhhbXBsZS5jb20=</first>
<last>1710318417696681/YWxpY2VfcmVhZF91bnJlYWRfZW50cnlfc2V0X3RvX3JlYWRfaXFfaWRfYXNfZmFsbGJhY2tfMTcwMUBkb21haW4uZXhhbXBsZS5jb20=</last>
</set>
<active-conversations>1</active-conversations>
<count>1</count>
<unread-messages>1</unread-messages>
</fin>
</iq>
*** User 2024-03-13 08:26:57.701 ***🔗
waiting for inbox_size is done in 0 miliseconds
*** User 2024-03-13 08:26:57.701 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<iq type='set' id='de4aa411d2217374326c04d06c1f7111'>
<query xmlns='erlang-solutions.com:xmpp:inbox:0#conversation' jid='alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com'>
<read>true</read>
</query>
</iq>
*** User 2024-03-13 08:26:57.702 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<message from='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' to='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com' id='de4aa411d2217374326c04d06c1f7111'>
<x xmlns='erlang-solutions.com:xmpp:inbox:0#conversation' jid='alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com' queryid='de4aa411d2217374326c04d06c1f7111'>
<read>true</read>
<box>inbox</box>
<archive>false</archive>
<mute>0</mute>
</x>
</message>
*** User 2024-03-13 08:26:57.703 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<iq from='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com' to='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' id='de4aa411d2217374326c04d06c1f7111' type='result'/>
*** User 2024-03-13 08:26:57.703 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
<iq type='set' id='c0f7283be0921c4b0c5196bd82abe0c2'>
<inbox xmlns='erlang-solutions.com:xmpp:inbox:0'>
<x xmlns='jabber:x:data' type='submit'>
<field type='hidden' var='FORM_TYPE'>
<value>erlang-solutions.com:xmpp:inbox:0</value>
</field>
<field type='text-single' var='hidden_read'>
<value>false</value>
</field>
</x>
</inbox>
</iq>
*** User 2024-03-13 08:26:57.704 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<message from='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com' to='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' id='1710-318417-703919'>
<result xmlns='erlang-solutions.com:xmpp:inbox:0' unread='0' queryid='c0f7283be0921c4b0c5196bd82abe0c2'>
<forwarded xmlns='urn:xmpp:forward:0'>
<delay xmlns='urn:xmpp:delay' stamp='2024-03-13T08:26:57.696681Z'/>
<message from='alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' to='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' type='chat' id='c59c49c19218c9937ffbec61f93067d7'>
<body>Hi Bob</body>
</message>
</forwarded>
<read>true</read>
<box>inbox</box>
<archive>false</archive>
<mute>0</mute>
</result>
</message>
*** User 2024-03-13 08:26:57.704 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
<iq from='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com' to='bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1' id='c0f7283be0921c4b0c5196bd82abe0c2' type='result'>
<fin xmlns='erlang-solutions.com:xmpp:inbox:0'>
<set xmlns='http://jabber.org/protocol/rsm'>
<first>1710318417696681/YWxpY2VfcmVhZF91bnJlYWRfZW50cnlfc2V0X3RvX3JlYWRfaXFfaWRfYXNfZmFsbGJhY2tfMTcwMUBkb21haW4uZXhhbXBsZS5jb20=</first>
<last>1710318417696681/YWxpY2VfcmVhZF91bnJlYWRfZW50cnlfc2V0X3RvX3JlYWRfaXFfaWRfYXNfZmFsbGJhY2tfMTcwMUBkb21haW4uZXhhbXBsZS5jb20=</last>
</set>
<active-conversations>0</active-conversations>
<count>1</count>
<unread-messages>0</unread-messages>
</fin>
</iq>
*** User 2024-03-13 08:26:57.704 ***🔗
waiting for inbox_size is done in 0 miliseconds
*** User 2024-03-13 08:26:57.705 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
</stream:stream>
*** User 2024-03-13 08:26:57.705 ***🔗
bob_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
</stream:stream>
*** User 2024-03-13 08:26:57.705 ***🔗
alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 out
</stream:stream>
*** User 2024-03-13 08:26:57.705 ***🔗
alice_read_unread_entry_set_to_read_iq_id_as_fallback_1701@domain.example.com/res1 in
</stream:stream>
=== Ended at 2024-03-13 08:26:57
=== successfully completed test case
=== === Returned value: ok