diff --git a/stix2/properties.py b/stix2/properties.py
index 24549aa..7202f9a 100644
--- a/stix2/properties.py
+++ b/stix2/properties.py
@@ -291,8 +291,6 @@ class DictionaryProperty(Property):
             dictified = _get_dict(value)
         except ValueError:
             raise ValueError("The dictionary property must contain a dictionary")
-        if dictified == {}:
-            raise ValueError("The dictionary property must contain a non-empty dictionary")
         for k in dictified.keys():
             if self.spec_version == '2.0':
                 if len(k) < 3:
@@ -498,8 +496,6 @@ class ExtensionsProperty(DictionaryProperty):
             dictified = copy.deepcopy(dictified)
         except ValueError:
             raise ValueError("The extensions property must contain a dictionary")
-        if dictified == {}:
-            raise ValueError("The extensions property must contain a non-empty dictionary")
 
         v = 'v' + self.spec_version.replace('.', '')
 

diff --git a/stix2/test/v20/test_observed_data.py b/stix2/test/v20/test_observed_data.py
index 41a80d6..17d732e 100644
--- a/stix2/test/v20/test_observed_data.py
+++ b/stix2/test/v20/test_observed_data.py
@@ -1141,12 +1141,13 @@ def test_process_example_windows_process_ext_empty():
 
 
 def test_process_example_extensions_empty():
-    with pytest.raises(stix2.exceptions.InvalidValueError) as excinfo:
-            stix2.v20.Process(extensions={})
+    proc = stix2.v20.Process(
+        pid=314,
+        name="foobar.exe",
+        extensions={},
+    )
 
-    assert excinfo.value.cls == stix2.v20.Process
-    assert excinfo.value.prop_name == 'extensions'
-    assert 'non-empty dictionary' in excinfo.value.reason
+    assert '{}' in str(proc)
 
 
 def test_process_example_with_WindowsProcessExt_Object():
diff --git a/stix2/test/v20/test_properties.py b/stix2/test/v20/test_properties.py
index 24c1c99..e9a513e 100644
--- a/stix2/test/v20/test_properties.py
+++ b/stix2/test/v20/test_properties.py
@@ -360,7 +360,6 @@ def test_dictionary_property_invalid_key(d):
 
 @pytest.mark.parametrize(
     "d", [
-        ({}, "The dictionary property must contain a non-empty dictionary"),
         # TODO: This error message could be made more helpful. The error is caused
         # because `json.loads()` doesn't like the *single* quotes around the key
         # name, even though they are valid in a Python dictionary. While technically
diff --git a/stix2/test/v21/test_observed_data.py b/stix2/test/v21/test_observed_data.py
index 5a5881a..d2aaf52 100644
--- a/stix2/test/v21/test_observed_data.py
+++ b/stix2/test/v21/test_observed_data.py
@@ -1115,12 +1115,12 @@ def test_process_example_windows_process_ext_empty():
 
 
 def test_process_example_extensions_empty():
-    with pytest.raises(stix2.exceptions.InvalidValueError) as excinfo:
-            stix2.v21.Process(extensions={})
+    proc = stix2.v21.Process(
+        pid=314,
+        extensions={},
+    )
 
-    assert excinfo.value.cls == stix2.v21.Process
-    assert excinfo.value.prop_name == 'extensions'
-    assert 'non-empty dictionary' in excinfo.value.reason
+    assert '{}' in str(proc)
 
 
 def test_process_example_with_WindowsProcessExt_Object():
diff --git a/stix2/test/v21/test_properties.py b/stix2/test/v21/test_properties.py
index 611ec5e..298a8df 100644
--- a/stix2/test/v21/test_properties.py
+++ b/stix2/test/v21/test_properties.py
@@ -369,7 +369,6 @@ def test_dictionary_property_invalid_key(d):
 
 @pytest.mark.parametrize(
     "d", [
-        ({}, "The dictionary property must contain a non-empty dictionary"),
         # TODO: This error message could be made more helpful. The error is caused
         # because `json.loads()` doesn't like the *single* quotes around the key
         # name, even though they are valid in a Python dictionary. While technically

Creating LanguageContent object has error
If you pass a language content object an empty contents dictionary, you get an exception saying it must be non-empty.  I do not see anywhere in the 2.1 specification that requires this.

```
from stix2.v21 import LanguageContent, Campaign
camp = Campaign(name='foo')
LanguageContent(object_ref=camp.id, object_modified=camp.modified, contents={})
```
produces:
```
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jmg/work/cti-i18n/p/lib/python2.7/site-packages/stix2/base.py", line 161, in __init__
    self._check_property(prop_name, prop_metadata, setting_kwargs)
  File "/Users/jmg/work/cti-i18n/p/lib/python2.7/site-packages/stix2/base.py", line 94, in _check_property
    raise InvalidValueError(self.__class__, prop_name, reason=str(exc))
stix2.exceptions.InvalidValueError: Invalid value for LanguageContent 'contents': The dictionary property must contain a non-empty dictionary
```
stix2/test/v20/test_observed_data.py::test_process_example_extensions_empty stix2/test/v20/test_properties.py::test_id_property_not_a_valid_hex_uuid[my-type--cc4adbc4-577d-11ef-93b6-fa3cdcf14c24] stix2/test/v21/test_observed_data.py::test_process_example_extensions_empty stix2/test/v21/test_properties.py::test_id_property_not_a_valid_hex_uuid[my-type--cc5010d0-577d-11ef-93b6-fa3cdcf14c24]
stix2/test/v20/test_observed_data.py::test_observed_data_example stix2/test/v20/test_observed_data.py::test_observed_data_example_with_refs stix2/test/v20/test_observed_data.py::test_observed_data_example_with_bad_refs stix2/test/v20/test_observed_data.py::test_observed_data_example_with_non_dictionary stix2/test/v20/test_observed_data.py::test_observed_data_example_with_empty_dictionary stix2/test/v20/test_observed_data.py::test_parse_observed_data[{\n stix2/test/v20/test_observed_data.py::test_parse_observed_data[data1] stix2/test/v20/test_observed_data.py::test_parse_artifact_valid["0": stix2/test/v20/test_observed_data.py::test_parse_artifact_invalid["0": stix2/test/v20/test_observed_data.py::test_artifact_example_dependency_error stix2/test/v20/test_observed_data.py::test_parse_autonomous_system_valid["0": stix2/test/v20/test_observed_data.py::test_parse_email_address[{\n stix2/test/v20/test_observed_data.py::test_parse_email_message[\n stix2/test/v20/test_observed_data.py::test_parse_email_message_not_multipart[\n stix2/test/v20/test_observed_data.py::test_parse_file_archive["0": stix2/test/v20/test_observed_data.py::test_parse_email_message_with_at_least_one_error[\n stix2/test/v20/test_observed_data.py::test_parse_basic_tcp_traffic[\n stix2/test/v20/test_observed_data.py::test_parse_basic_tcp_traffic_with_error[\n stix2/test/v20/test_observed_data.py::test_observed_data_with_process_example stix2/test/v20/test_observed_data.py::test_artifact_example stix2/test/v20/test_observed_data.py::test_artifact_mutual_exclusion_error stix2/test/v20/test_observed_data.py::test_directory_example stix2/test/v20/test_observed_data.py::test_directory_example_ref_error stix2/test/v20/test_observed_data.py::test_domain_name_example stix2/test/v20/test_observed_data.py::test_domain_name_example_invalid_ref_type stix2/test/v20/test_observed_data.py::test_file_example stix2/test/v20/test_observed_data.py::test_file_example_with_NTFSExt stix2/test/v20/test_observed_data.py::test_file_example_with_empty_NTFSExt stix2/test/v20/test_observed_data.py::test_file_example_with_PDFExt stix2/test/v20/test_observed_data.py::test_file_example_with_PDFExt_Object stix2/test/v20/test_observed_data.py::test_file_example_with_RasterImageExt_Object stix2/test/v20/test_observed_data.py::test_raster_image_ext_parse stix2/test/v20/test_observed_data.py::test_raster_images_ext_create stix2/test/v20/test_observed_data.py::test_file_example_with_WindowsPEBinaryExt stix2/test/v20/test_observed_data.py::test_file_example_encryption_error stix2/test/v20/test_observed_data.py::test_ip4_address_example stix2/test/v20/test_observed_data.py::test_ip4_address_example_cidr stix2/test/v20/test_observed_data.py::test_ip6_address_example stix2/test/v20/test_observed_data.py::test_mac_address_example stix2/test/v20/test_observed_data.py::test_network_traffic_example stix2/test/v20/test_observed_data.py::test_network_traffic_http_request_example stix2/test/v20/test_observed_data.py::test_network_traffic_icmp_example stix2/test/v20/test_observed_data.py::test_network_traffic_socket_example stix2/test/v20/test_observed_data.py::test_network_traffic_tcp_example stix2/test/v20/test_observed_data.py::test_mutex_example stix2/test/v20/test_observed_data.py::test_process_example stix2/test/v20/test_observed_data.py::test_process_example_empty_error stix2/test/v20/test_observed_data.py::test_process_example_empty_with_extensions stix2/test/v20/test_observed_data.py::test_process_example_windows_process_ext stix2/test/v20/test_observed_data.py::test_process_example_windows_process_ext_empty stix2/test/v20/test_observed_data.py::test_process_example_with_WindowsProcessExt_Object stix2/test/v20/test_observed_data.py::test_process_example_with_WindowsServiceExt stix2/test/v20/test_observed_data.py::test_process_example_with_WindowsProcessServiceExt stix2/test/v20/test_observed_data.py::test_software_example stix2/test/v20/test_observed_data.py::test_url_example stix2/test/v20/test_observed_data.py::test_user_account_example stix2/test/v20/test_observed_data.py::test_user_account_unix_account_ext_example stix2/test/v20/test_observed_data.py::test_windows_registry_key_example stix2/test/v20/test_observed_data.py::test_x509_certificate_example stix2/test/v20/test_observed_data.py::test_new_version_with_related_objects stix2/test/v20/test_properties.py::test_property stix2/test/v20/test_properties.py::test_basic_clean stix2/test/v20/test_properties.py::test_property_default stix2/test/v20/test_properties.py::test_fixed_property stix2/test/v20/test_properties.py::test_list_property stix2/test/v20/test_properties.py::test_string_property stix2/test/v20/test_properties.py::test_type_property stix2/test/v20/test_properties.py::test_id_property_valid[my-type--232c9d3f-49fc-4440-bb01-607f638778e7] stix2/test/v20/test_properties.py::test_id_property_valid[my-type--00000000-0000-4000-8000-000000000000] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[attack-pattern--0c7b5b88-8ff7-4a4d-aa9d-feb398cd0061] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[campaign--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[course-of-action--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[identity--311b2d2d-f010-4473-83ec-1edf84858f4c] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[indicator--a740531e-63ff-4e49-a9e1-a0a3eed0e3e7] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[intrusion-set--4e78f46f-a023-4e5f-bc24-71b3ca22ec29] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[malware--9c4638ec-f1de-4ddb-abf4-1b760417654e] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9_0] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[observed-data--b67d30ff-02ac-498a-92f9-32f845f448cf] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[relationship--df7c87eb-75d2-4948-af81-9d49d246f301] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[report--84e4d88f-44ea-4bcd-bbf3-b2c1c320bcb3] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[sighting--bfbc19db-ec35-4e45-beed-f8bde2a772fb] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[threat-actor--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[tool--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[vulnerability--0c7b5b88-8ff7-4a4d-aa9d-feb398cd0061] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9_1] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[marking-definition--443eb5c3-a76c-4a0a-8caa-e93998e7bc09] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[marking-definition--57fcd772-9c1d-41b0-8d1f-3d47713415d9] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[marking-definition--462bf1a6-03d2-419c-b74e-eee2238b2de4] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[marking-definition--68520ae2-fefe-43a9-84ee-2c2a934d2c7d] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[marking-definition--2802dfb1-1019-40a8-8848-68d0ec0e417f] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[relationship--06520621-5352-4e6a-b976-e8fa3d437ffd] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[relationship--181c9c09-43e6-45dd-9374-3bec192f05ef] stix2/test/v20/test_properties.py::test_id_property_valid_for_type[relationship--a0cbb21c-8daf-4a7f-96aa-7155a4ef8f70] stix2/test/v20/test_properties.py::test_id_property_wrong_type stix2/test/v20/test_properties.py::test_id_property_not_a_valid_hex_uuid[my-type--foo] stix2/test/v20/test_properties.py::test_id_property_not_a_valid_hex_uuid[my-type--00000000-0000-0000-0000-000000000000] stix2/test/v20/test_properties.py::test_id_property_not_a_valid_hex_uuid[my-type--04738bdf-b25a-3829-a801-b21a1d25095b] stix2/test/v20/test_properties.py::test_id_property_not_a_valid_hex_uuid[my-type--aad03681-8b63-5304-89e0-8ca8f49461b5] stix2/test/v20/test_properties.py::test_id_property_default stix2/test/v20/test_properties.py::test_integer_property_valid[2] stix2/test/v20/test_properties.py::test_integer_property_valid[-1] stix2/test/v20/test_properties.py::test_integer_property_valid[3.14] stix2/test/v20/test_properties.py::test_integer_property_valid[False] stix2/test/v20/test_properties.py::test_integer_property_invalid_min_with_constraints[-1] stix2/test/v20/test_properties.py::test_integer_property_invalid_min_with_constraints[-100] stix2/test/v20/test_properties.py::test_integer_property_invalid_min_with_constraints[-30] stix2/test/v20/test_properties.py::test_integer_property_invalid_max_with_constraints[181] stix2/test/v20/test_properties.py::test_integer_property_invalid_max_with_constraints[200] stix2/test/v20/test_properties.py::test_integer_property_invalid_max_with_constraints[300] stix2/test/v20/test_properties.py::test_integer_property_invalid[something] stix2/test/v20/test_properties.py::test_integer_property_invalid[value1] stix2/test/v20/test_properties.py::test_float_property_valid[2] stix2/test/v20/test_properties.py::test_float_property_valid[-1] stix2/test/v20/test_properties.py::test_float_property_valid[3.14] stix2/test/v20/test_properties.py::test_float_property_valid[False] stix2/test/v20/test_properties.py::test_float_property_invalid[something] stix2/test/v20/test_properties.py::test_float_property_invalid[value1] stix2/test/v20/test_properties.py::test_boolean_property_valid[True0] stix2/test/v20/test_properties.py::test_boolean_property_valid[False0] stix2/test/v20/test_properties.py::test_boolean_property_valid[True1] stix2/test/v20/test_properties.py::test_boolean_property_valid[False1] stix2/test/v20/test_properties.py::test_boolean_property_valid[true] stix2/test/v20/test_properties.py::test_boolean_property_valid[false] stix2/test/v20/test_properties.py::test_boolean_property_valid[TRUE] stix2/test/v20/test_properties.py::test_boolean_property_valid[FALSE] stix2/test/v20/test_properties.py::test_boolean_property_valid[T] stix2/test/v20/test_properties.py::test_boolean_property_valid[F] stix2/test/v20/test_properties.py::test_boolean_property_valid[t] stix2/test/v20/test_properties.py::test_boolean_property_valid[f] stix2/test/v20/test_properties.py::test_boolean_property_valid[1] stix2/test/v20/test_properties.py::test_boolean_property_valid[0] stix2/test/v20/test_properties.py::test_boolean_property_invalid[abc] stix2/test/v20/test_properties.py::test_boolean_property_invalid[value1] stix2/test/v20/test_properties.py::test_boolean_property_invalid[value2] stix2/test/v20/test_properties.py::test_boolean_property_invalid[2] stix2/test/v20/test_properties.py::test_boolean_property_invalid[-1] stix2/test/v20/test_properties.py::test_reference_property stix2/test/v20/test_properties.py::test_timestamp_property_valid[2017-01-01T12:34:56Z] stix2/test/v20/test_properties.py::test_timestamp_property_valid[2017-01-01 stix2/test/v20/test_properties.py::test_timestamp_property_valid[Jan stix2/test/v20/test_properties.py::test_timestamp_property_invalid stix2/test/v20/test_properties.py::test_binary_property stix2/test/v20/test_properties.py::test_hex_property stix2/test/v20/test_properties.py::test_dictionary_property_valid[d0] stix2/test/v20/test_properties.py::test_dictionary_property_valid[d1] stix2/test/v20/test_properties.py::test_dictionary_property_invalid_key[d0] stix2/test/v20/test_properties.py::test_dictionary_property_invalid_key[d1] stix2/test/v20/test_properties.py::test_dictionary_property_invalid_key[d2] stix2/test/v20/test_properties.py::test_dictionary_property_invalid[d0] stix2/test/v20/test_properties.py::test_property_list_of_dictionary stix2/test/v20/test_properties.py::test_hashes_property_valid[value1] stix2/test/v20/test_properties.py::test_hashes_property_invalid[value0] stix2/test/v20/test_properties.py::test_hashes_property_invalid[value1] stix2/test/v20/test_properties.py::test_embedded_property stix2/test/v20/test_properties.py::test_enum_property_valid[value0] stix2/test/v20/test_properties.py::test_enum_property_valid[value1] stix2/test/v20/test_properties.py::test_enum_property_valid[b] stix2/test/v20/test_properties.py::test_enum_property_invalid stix2/test/v20/test_properties.py::test_extension_property_valid stix2/test/v20/test_properties.py::test_extension_property_invalid[1] stix2/test/v20/test_properties.py::test_extension_property_invalid[data1] stix2/test/v20/test_properties.py::test_extension_property_invalid_type stix2/test/v20/test_properties.py::test_extension_at_least_one_property_constraint stix2/test/v20/test_properties.py::test_marking_property_error stix2/test/v20/test_properties.py::test_stix_property_not_compliant_spec stix2/test/v21/test_observed_data.py::test_observed_data_example stix2/test/v21/test_observed_data.py::test_observed_data_example_with_refs stix2/test/v21/test_observed_data.py::test_observed_data_example_with_bad_refs stix2/test/v21/test_observed_data.py::test_observed_data_example_with_non_dictionary stix2/test/v21/test_observed_data.py::test_observed_data_example_with_empty_dictionary stix2/test/v21/test_observed_data.py::test_parse_observed_data[{\n stix2/test/v21/test_observed_data.py::test_parse_observed_data[data1] stix2/test/v21/test_observed_data.py::test_parse_artifact_valid["0": stix2/test/v21/test_observed_data.py::test_parse_artifact_invalid["0": stix2/test/v21/test_observed_data.py::test_artifact_example_dependency_error stix2/test/v21/test_observed_data.py::test_parse_autonomous_system_valid["0": stix2/test/v21/test_observed_data.py::test_parse_email_address[{\n stix2/test/v21/test_observed_data.py::test_parse_email_message[\n stix2/test/v21/test_observed_data.py::test_parse_email_message_not_multipart[\n stix2/test/v21/test_observed_data.py::test_parse_file_archive["0": stix2/test/v21/test_observed_data.py::test_parse_email_message_with_at_least_one_error[\n stix2/test/v21/test_observed_data.py::test_parse_basic_tcp_traffic[\n stix2/test/v21/test_observed_data.py::test_parse_basic_tcp_traffic_with_error[\n stix2/test/v21/test_observed_data.py::test_observed_data_with_process_example stix2/test/v21/test_observed_data.py::test_artifact_example stix2/test/v21/test_observed_data.py::test_artifact_mutual_exclusion_error stix2/test/v21/test_observed_data.py::test_directory_example stix2/test/v21/test_observed_data.py::test_directory_example_ref_error stix2/test/v21/test_observed_data.py::test_domain_name_example stix2/test/v21/test_observed_data.py::test_domain_name_example_invalid_ref_type stix2/test/v21/test_observed_data.py::test_file_example stix2/test/v21/test_observed_data.py::test_file_example_with_NTFSExt stix2/test/v21/test_observed_data.py::test_file_example_with_empty_NTFSExt stix2/test/v21/test_observed_data.py::test_file_example_with_PDFExt stix2/test/v21/test_observed_data.py::test_file_example_with_PDFExt_Object stix2/test/v21/test_observed_data.py::test_file_example_with_RasterImageExt_Object stix2/test/v21/test_observed_data.py::test_raster_image_ext_parse stix2/test/v21/test_observed_data.py::test_raster_images_ext_create stix2/test/v21/test_observed_data.py::test_file_example_with_WindowsPEBinaryExt stix2/test/v21/test_observed_data.py::test_file_example_encryption_error stix2/test/v21/test_observed_data.py::test_ip4_address_example stix2/test/v21/test_observed_data.py::test_ip4_address_example_cidr stix2/test/v21/test_observed_data.py::test_ip6_address_example stix2/test/v21/test_observed_data.py::test_mac_address_example stix2/test/v21/test_observed_data.py::test_network_traffic_example stix2/test/v21/test_observed_data.py::test_network_traffic_http_request_example stix2/test/v21/test_observed_data.py::test_network_traffic_icmp_example stix2/test/v21/test_observed_data.py::test_network_traffic_socket_example stix2/test/v21/test_observed_data.py::test_network_traffic_tcp_example stix2/test/v21/test_observed_data.py::test_mutex_example stix2/test/v21/test_observed_data.py::test_process_example stix2/test/v21/test_observed_data.py::test_process_example_empty_error stix2/test/v21/test_observed_data.py::test_process_example_empty_with_extensions stix2/test/v21/test_observed_data.py::test_process_example_windows_process_ext stix2/test/v21/test_observed_data.py::test_process_example_windows_process_ext_empty stix2/test/v21/test_observed_data.py::test_process_example_with_WindowsProcessExt_Object stix2/test/v21/test_observed_data.py::test_process_example_with_WindowsServiceExt stix2/test/v21/test_observed_data.py::test_process_example_with_WindowsProcessServiceExt stix2/test/v21/test_observed_data.py::test_software_example stix2/test/v21/test_observed_data.py::test_url_example stix2/test/v21/test_observed_data.py::test_user_account_example stix2/test/v21/test_observed_data.py::test_user_account_unix_account_ext_example stix2/test/v21/test_observed_data.py::test_windows_registry_key_example stix2/test/v21/test_observed_data.py::test_x509_certificate_example stix2/test/v21/test_observed_data.py::test_new_version_with_related_objects stix2/test/v21/test_properties.py::test_property stix2/test/v21/test_properties.py::test_basic_clean stix2/test/v21/test_properties.py::test_property_default stix2/test/v21/test_properties.py::test_fixed_property stix2/test/v21/test_properties.py::test_list_property stix2/test/v21/test_properties.py::test_string_property stix2/test/v21/test_properties.py::test_type_property stix2/test/v21/test_properties.py::test_id_property_valid[my-type--232c9d3f-49fc-4440-bb01-607f638778e7] stix2/test/v21/test_properties.py::test_id_property_valid[my-type--00000000-0000-4000-8000-000000000000] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[attack-pattern--0c7b5b88-8ff7-4a4d-aa9d-feb398cd0061] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[campaign--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[course-of-action--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[identity--311b2d2d-f010-4473-83ec-1edf84858f4c] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[indicator--a740531e-63ff-4e49-a9e1-a0a3eed0e3e7] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[intrusion-set--4e78f46f-a023-4e5f-bc24-71b3ca22ec29] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[malware--9c4638ec-f1de-4ddb-abf4-1b760417654e] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9_0] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[observed-data--b67d30ff-02ac-498a-92f9-32f845f448cf] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[relationship--df7c87eb-75d2-4948-af81-9d49d246f301] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[report--84e4d88f-44ea-4bcd-bbf3-b2c1c320bcb3] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[sighting--bfbc19db-ec35-4e45-beed-f8bde2a772fb] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[threat-actor--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[tool--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[vulnerability--0c7b5b88-8ff7-4a4d-aa9d-feb398cd0061] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9_1] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[marking-definition--443eb5c3-a76c-4a0a-8caa-e93998e7bc09] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[marking-definition--57fcd772-9c1d-41b0-8d1f-3d47713415d9] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[marking-definition--462bf1a6-03d2-419c-b74e-eee2238b2de4] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[marking-definition--68520ae2-fefe-43a9-84ee-2c2a934d2c7d] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[marking-definition--2802dfb1-1019-40a8-8848-68d0ec0e417f] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[relationship--06520621-5352-4e6a-b976-e8fa3d437ffd] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[relationship--181c9c09-43e6-45dd-9374-3bec192f05ef] stix2/test/v21/test_properties.py::test_id_property_valid_for_type[relationship--a0cbb21c-8daf-4a7f-96aa-7155a4ef8f70] stix2/test/v21/test_properties.py::test_id_property_wrong_type stix2/test/v21/test_properties.py::test_id_property_not_a_valid_hex_uuid[my-type--foo] stix2/test/v21/test_properties.py::test_id_property_not_a_valid_hex_uuid[my-type--00000000-0000-0000-0000-000000000000] stix2/test/v21/test_properties.py::test_id_property_not_a_valid_hex_uuid[my-type--04738bdf-b25a-3829-a801-b21a1d25095b] stix2/test/v21/test_properties.py::test_id_property_not_a_valid_hex_uuid[my-type--aad03681-8b63-5304-89e0-8ca8f49461b5] stix2/test/v21/test_properties.py::test_id_property_default stix2/test/v21/test_properties.py::test_integer_property_valid[2] stix2/test/v21/test_properties.py::test_integer_property_valid[-1] stix2/test/v21/test_properties.py::test_integer_property_valid[3.14] stix2/test/v21/test_properties.py::test_integer_property_valid[False] stix2/test/v21/test_properties.py::test_integer_property_invalid_min_with_constraints[-1] stix2/test/v21/test_properties.py::test_integer_property_invalid_min_with_constraints[-100] stix2/test/v21/test_properties.py::test_integer_property_invalid_min_with_constraints[-300] stix2/test/v21/test_properties.py::test_integer_property_invalid_max_with_constraints[181] stix2/test/v21/test_properties.py::test_integer_property_invalid_max_with_constraints[200] stix2/test/v21/test_properties.py::test_integer_property_invalid_max_with_constraints[300] stix2/test/v21/test_properties.py::test_integer_property_invalid[something] stix2/test/v21/test_properties.py::test_integer_property_invalid[value1] stix2/test/v21/test_properties.py::test_float_property_valid[2] stix2/test/v21/test_properties.py::test_float_property_valid[-1] stix2/test/v21/test_properties.py::test_float_property_valid[3.14] stix2/test/v21/test_properties.py::test_float_property_valid[False] stix2/test/v21/test_properties.py::test_float_property_invalid[something] stix2/test/v21/test_properties.py::test_float_property_invalid[value1] stix2/test/v21/test_properties.py::test_boolean_property_valid[True0] stix2/test/v21/test_properties.py::test_boolean_property_valid[False0] stix2/test/v21/test_properties.py::test_boolean_property_valid[True1] stix2/test/v21/test_properties.py::test_boolean_property_valid[False1] stix2/test/v21/test_properties.py::test_boolean_property_valid[true] stix2/test/v21/test_properties.py::test_boolean_property_valid[false] stix2/test/v21/test_properties.py::test_boolean_property_valid[TRUE] stix2/test/v21/test_properties.py::test_boolean_property_valid[FALSE] stix2/test/v21/test_properties.py::test_boolean_property_valid[T] stix2/test/v21/test_properties.py::test_boolean_property_valid[F] stix2/test/v21/test_properties.py::test_boolean_property_valid[t] stix2/test/v21/test_properties.py::test_boolean_property_valid[f] stix2/test/v21/test_properties.py::test_boolean_property_valid[1] stix2/test/v21/test_properties.py::test_boolean_property_valid[0] stix2/test/v21/test_properties.py::test_boolean_property_invalid[abc] stix2/test/v21/test_properties.py::test_boolean_property_invalid[value1] stix2/test/v21/test_properties.py::test_boolean_property_invalid[value2] stix2/test/v21/test_properties.py::test_boolean_property_invalid[2] stix2/test/v21/test_properties.py::test_boolean_property_invalid[-1] stix2/test/v21/test_properties.py::test_reference_property stix2/test/v21/test_properties.py::test_timestamp_property_valid[2017-01-01T12:34:56Z] stix2/test/v21/test_properties.py::test_timestamp_property_valid[2017-01-01 stix2/test/v21/test_properties.py::test_timestamp_property_valid[Jan stix2/test/v21/test_properties.py::test_timestamp_property_invalid stix2/test/v21/test_properties.py::test_binary_property stix2/test/v21/test_properties.py::test_hex_property stix2/test/v21/test_properties.py::test_dictionary_property_valid[d0] stix2/test/v21/test_properties.py::test_dictionary_property_valid[d1] stix2/test/v21/test_properties.py::test_dictionary_no_longer_raises[d0] stix2/test/v21/test_properties.py::test_dictionary_property_invalid_key[d0] stix2/test/v21/test_properties.py::test_dictionary_property_invalid_key[d1] stix2/test/v21/test_properties.py::test_dictionary_property_invalid[d0] stix2/test/v21/test_properties.py::test_property_list_of_dictionary stix2/test/v21/test_properties.py::test_hashes_property_valid[value1] stix2/test/v21/test_properties.py::test_hashes_property_invalid[value0] stix2/test/v21/test_properties.py::test_hashes_property_invalid[value1] stix2/test/v21/test_properties.py::test_embedded_property stix2/test/v21/test_properties.py::test_enum_property_valid[value0] stix2/test/v21/test_properties.py::test_enum_property_valid[value1] stix2/test/v21/test_properties.py::test_enum_property_valid[b] stix2/test/v21/test_properties.py::test_enum_property_invalid stix2/test/v21/test_properties.py::test_extension_property_valid stix2/test/v21/test_properties.py::test_extension_property_invalid[1] stix2/test/v21/test_properties.py::test_extension_property_invalid[data1] stix2/test/v21/test_properties.py::test_extension_property_invalid_type stix2/test/v21/test_properties.py::test_extension_at_least_one_property_constraint stix2/test/v21/test_properties.py::test_marking_property_error