joodicator
612fa8e324
Add support for Minecraft 18w43a to 1.14 (protocols 441 to 477)
...
This commit introduces two backward-incompatible changes which may break
existing code:
(1) `networking.packets.clientbound.play.SpawnObjectPacket.EntityType'
is no longer accessible as an attribute of the the `SpawnObjectPacket'
class: the values now depend on a `ConnectionContext`, and must be
accessed through an instance, or using `SpawnObjectPacket.field_enum'.
See the text of the `AttributeError` raised from the descriptor for
`SpawnObjectPacket.EntityType` for the full details.
(2) For some subclasses of `networking.types.Type', it is necessary to
call the methods `read_with_context' and `send_with_context' instead of
`read' and `send', supplying a `ConnectionContext' for those data types
- currently only `Position` - whose layout depends on it.
2019-05-11 08:43:51 +02:00
Ammar Askar
b4c58477f4
Fixes for flake8
2019-01-04 20:12:07 -05:00
Ammar Askar
6adefa8c75
Add test for new invalidate_previous functionality
2019-01-04 19:59:45 -05:00
joo
527f3d3146
Add support for Minecraft 1.13.2-pre1, 1.13.2-pre2 and 1.13.2 (protocols 402 to 404).
2018-10-26 19:58:20 +01:00
joo
48e1003f42
Fix issue #109 and add regression test.
2018-10-12 17:07:04 +01:00
joo
adc8d15ddc
Add support for Minecraft 1.13 and 1.13-pre3 to pre10 (protocols 385 to 393).
...
Add clientbound.login.PluginRequestPacket and serverbound.login.PluginResponsePacket.
2018-07-19 09:50:13 +01:00
joo
bea2222c58
Fix: MutableRecord.__ne__ misspelt as '__neq__'.
...
Add tests for MutableRecord and Position.
2018-06-21 07:06:45 +01:00
joo
4b6feda1cb
Various improvements to utility types:
...
- Add operations for Vector.
- Move some tests into test_utility_types.py.
- Add tests for PositionAndLook and Vector.
2018-06-21 06:39:55 +01:00
Zachy
d3a8cc8dfb
Implement New Type. FixedPointInteger. ( #93 )
...
Fix: SpawnPlayerPacket coordinates read wrongly before protocol 100. Add types.FixedPointInteger.
2018-06-20 05:32:35 +01:00
joo
d36a4170ed
Add tests for various Connection edge cases.
2018-05-29 01:14:46 +01:00
joo
db714f9490
Fix: MapPacket.write_fields() is incorrect.
2018-05-27 17:12:50 +01:00
joo
8578326c2f
Add serialisation and tests for SpawnObjectPacket.
2018-05-27 15:36:13 +01:00
joo
709b80b539
Add serialisation and tests for Explosion, {Multi,}BlockChange, and CombatEvent packets.
2018-05-27 13:28:01 +01:00
joo
92f2eff681
Add several tests for the Connection class.
2018-05-27 07:40:13 +01:00
joo
ab9ca6dfee
Add full connection tests with encryption enabled.
2018-05-27 03:30:43 +01:00
joo
38fa39a236
Extract Hand enum classes to minecraft.networking.types.
2018-03-02 02:07:25 +00:00
joo
0ec2398fb4
Fix: test_authenticate_wrong_credentials is not marked as an Internet test.
2018-01-13 02:37:28 +00:00
joo
bfaabcad58
Increase maxDiff for test_authenticate_wrong_credentials.
2018-01-13 01:57:59 +00:00
joo
979468b4f1
test_authenticate_wrong_credentials: compare exception string instead of yggdrasil_message, so failure message is more useful in case the latter is None.
2018-01-06 19:25:55 +00:00
joo
53312f997b
tests/fake_server.py: use "except Exception" instead of bare except clauses.
2018-01-06 19:24:22 +00:00
joo
e9f095de42
Add ClientSettingsPacket and PluginMessagePacket.
...
Improve Packet string representation.
2017-08-24 05:49:32 +01:00
joo
3269a022a8
Add KeepAlivePacket test to ConnectTest and derived tests.
2017-08-22 18:16:07 +01:00
joo
b79e7b5f28
Add tests for early and outgoing packet listeners.
2017-08-22 17:50:16 +01:00
joo
9497aae8fa
Make FakeServer class more reusable, and extract it into its own module.
2017-08-22 14:22:12 +01:00
joo
593c98f168
Add support for early and outgoing packet listeners.
2017-08-21 21:06:28 +01:00
joo
46e058dd08
Update all tests, docs and code to use new packet names.
2017-08-09 20:53:54 +01:00
joo
cf464d2da2
Add compression tests to test_connection.
2017-08-03 13:04:47 +01:00
Ammar Askar
f450ef5ff4
Add test for reactors
2017-07-16 20:02:50 -07:00
Ammar Askar
d686b6487f
Add testing for MapPacket
2017-07-16 15:18:09 -07:00
Ammar Askar
5b261b840e
Refactor out the action of writing out the packet header.
...
This allows subclasses of Packet to just call the new
method instead of having to duplicate the header writing
and compression code.
2017-07-16 13:40:00 -07:00
Ammar Askar
4ce8c7f6ca
Fix flake errors in test file
2017-07-16 02:53:52 -07:00
Ammar Askar
8859e0f7bf
Add test coverage for PlayerList packet
2017-07-16 02:42:16 -07:00
Ammar Askar
da967a4e56
Minor coverage improvement for packets
2017-07-16 01:20:08 -07:00
Ammar Askar
d8226d266f
Improve tests of types.py
2017-07-16 01:00:14 -07:00
Ammar Askar
ca4fd6680e
Connect to localhost instead of the socket's binding address.
...
The bound address is 0.0.0.0 which usually implies all
available interfaces, which makes sense when listening
for something. However, when connecting to an address,
a specific address needs to be targeted. Hopefully, any
properly configured computer should have `localhost`
pointing to its loopback interface. Fixes #64
2017-07-16 00:19:30 -07:00
joo
3f4571d9e9
Update testing configuration:
...
(1) Add py35 job to Travis.
(2) To address issue #57 : run tests that connect to Mojang's auth server exactly once, during the py35 job.
(3) Measure coverage exactly once, during the py35 job; always submit the result to coveralls.
(4) Fix miscellaneous errors in generate_travis_yml.py.
2017-05-19 11:58:14 +01:00
joo
66a0603acf
Fix various problems in minecraft.authentication and its tests:
...
- Return value of _make_request() is treated as a requests.Request, when it is in fact a requests.Response.
- Some tests in test_authentication use assertRaises() incorrectly, resulting in testing code that never gets run.
- Other miscellaneous errors exposed by the above changes.
Additionally:
- YggdrasilError instances now have fields with specific error information, and _raise_from_response() populates them. (This will be useful for later changes.)
2017-03-31 12:59:43 +01:00
Ammar Askar
89ca73532a
Fully cover authentication module
2016-12-19 06:57:45 -05:00
Ammar Askar
10fb291752
Add some additional tests for the authentication module
2016-12-19 06:39:01 -05:00
joo
bf17f99083
Change version negotiator to use a status query.
2016-11-22 14:47:42 +00:00
joo
d72f05c8b0
Show exceptions by default and add `handle_exception' parameter to Connection.
2016-11-20 06:04:22 +00:00
joo
115693f8c3
Implement full Server List Ping capability with test.
2016-11-20 06:04:22 +00:00
joo
37a9bb66f1
Fix test failures caused by new flake8 version.
2016-11-15 00:02:02 +00:00
joo
bb1de5ca21
test_connection: fix timing issues caused by resource leaks.
2016-09-01 23:32:51 +01:00
joo
abd2ee774c
Add thread timeout detection to test_connection.
2016-08-22 18:20:16 +01:00
joo
9af39f186a
Make test_connection more deterministic.
2016-08-22 17:46:53 +01:00
joo
d0169b2d0b
Add support for Minecraft pre-release 16w32a (protocol 301).
2016-08-11 10:40:50 +01:00
joo
ce63626bb1
Add 4 tests in 'test_connection.py' and fix related bugs.
2016-06-18 18:22:18 +01:00
joo
3ff7662684
Update tests to match new API.
2016-06-17 22:54:21 +01:00
Ammar Askar
79ee31c44e
Fix two python3 compatibility problems:
...
We need to explicitly encode the serverID before hashing it
Pass read/binary modes to the file made from socket to avoid encoding problems, fixes #29
2015-04-17 17:57:34 +05:00