Failed tests:

types: 10 failed

- test_invalid_commands 10 failed
	- test_invalid_commands::test_invalid_command : 10 failed

		query_feature_ext_args_capX-None <- LS does not forbid the usage of capital 'X' in the extension (but says the prefix should be 'x-'.)
		query_feature_ext_args_dots      <- LS does not forbid to use dotted notation in the nsid
		query_feature_ext_args_nox       <- How to distinguish between standard and non-standard profiles?
		query_feature_ext_args_specialchar  <- LS does not forbid special characters
		query_feature_notunique          <- Does the specification says they must be unique? openc2lib takes just 1 value?
		start_container_ext_noprofile    <- LS does not forbid a name to begin with ':'
		start_container_ext_specialchar1 <- LS does not forbid special characters in nsid
		start_container_ext_specialchar2 <- LS does not forbid special characters in nsid
		start_container_ext_underscore_first1 <- LS does not forbid '_' in nsid
		start_container_ext_underscore_first2 <- LS does not forbid '_' in nsid


json: 14 failed

- test_commands: 14 tests failed (4 are the same x 3 times)
  - test_commands::test_dencoding : 4 test failed (but they are not correct json in my understanding)

		Command json:  {'action': 'allow', 'target': {'ipv4_net': '127.0.0.1/8'}}                              <- Not a valid network address!!!
		Command json:  {'action': 'allow', 'target': {'ipv6_net': '3ffe:1900:4545:3:200:f8ff:fe21:67cf/64'}}:  <- Not a valid network address!!!
		Command json:  {'action': 'allow', 'target': {'ipv6_net': '2001:db8:a::123/64'}}                       <- Not a valid network address!!!
		Command json:  {'action': 'deny', 'target': {'uri': 'https://example.com'}, 'actuator': {'slpf': {'asset_id': '123456'}, 'x-acme': {'endpoint_id': '567890'}}}  <- Actuator is defined as choice, so there should not be more than one actuator defined.
		
		
 -	test_commands::test_encoding : 4 test failed (same as for dencoding)

 - test_commands::test_sending : 4 test failed (same as for dencoding)

 - test_commands::test_deconding invalid: 2 test failed
 	Command json:  {'action': 'query', 'target': {'features': ['versions', 'versions']}}:   <- In this case, it's the same and it is not a problem. However, we did not check for uniqueness (but only 1 parameter is generated): I think it is better, since we have a valid element without raising an error.
	Command json:  {'action': 'contain', 'target': {'device': {'device_id': '9BCE8431AC106FAA3861C7E771D20E53'}}, 'args': {}}  <- Empty arguments does not create any problem

- test_responses: 4 tests failed (4 x 2 times)
   - test_responses.py::test_deconding : 2 test failed	
		Response json:  {'status': 200, 'status_text': 'OK', 'results': {'versions': ['1.0-draft-2019-02'], 'profiles': ['x-myextension'], 'pairs': {'query': ['features'], 'deny': ['file'], 'allow': ['file', 'device'], 'remediate': ['file'], 'contain': ['device']}}} <- The specification says version is "major.minor"
 		Response json:  {'status': 201, 'status_text': 'Some description', 'results': {'x-mycompany': {'stuff': {'some': 100, 'values': [True, False], 'defined': 'by the profile docs'}}, 'x-acme': {'status_detail': 'this profile defines additional status info for each response'}}}   <- openc2lib does not support multiple profiles mixed in the same response (no clear how to mix responses from multiple actuators, and if a command can be delivered to multiple actuators)
	
   - test_responses.py::test_econding : 2 test failed	(same as for decoding)

- test_bad_responses: 4 failed
	status_asdouble.json (base)    <- 200.0 accepted as a valid status: this is a known Python issue that was deliberately made to be consistent with JSON/Javascript: https://github.com/python-jsonschema/jsonschema/issues/557
	results_unknown_profile.json (contrib) <- a non standard profile does not use "x-" prefix. Questionable how one could know every possible profile in advance.
	status_asdouble.json (contrib) <- Same reason as before
	opecn2_command_query_features_all.json (contrib) <- Valid Command, but the contrib schema includes both commands and responses, so it does not fail
