def METHOD_NAME(self):
    # This test is complicated because we can't import
    # ckanext.datastore.plugin before running it. If we did so, the
    # DatastorePlugin class would be parsed which breaks the reason of our
    # test.
    p.load("sample_datastore_plugin")
    thrown_exception = None
    try:
        p.load("datastore")
    except Exception as e:
        thrown_exception = e
    idatastores = [
        x.__class__.__name__
        for x in p.PluginImplementations(interfaces.IDatastore)
    ]
    p.unload("sample_datastore_plugin")
    assert thrown_exception is not None, (
        'Loading "datastore" after another IDatastore plugin was'
        "loaded should raise DatastoreException"
    )
    assert (
        thrown_exception.__class__.__name__
        == plugin.DatastoreException.__name__
    )
    assert plugin.DatastorePlugin.__name__ not in idatastores, (
        'You shouldn\'t be able to load the "datastore" plugin after'
        "another IDatastore plugin was loaded"
    )