### Question:
Item extends DSpaceObject { void delete() throws SQLException, AuthorizeException, IOException { AuthorizeManager.authorizeAction(ourContext, this, Constants.REMOVE); ourContext.addEvent(new Event(Event.DELETE, Constants.ITEM, getID(), getHandle())); log.info(LogManager.getHeader(ourContext, "delete_item", "item_id=" + getID())); ourContext.removeCached(this, getID()); try { IndexBrowse ib = new IndexBrowse(ourContext); ib.itemRemoved(this); } catch (BrowseException e) { log.error("caught exception: ", e); throw new SQLException(e.getMessage(), e); } removeMetadataFromDatabase(); Bundle[] bunds = getBundles(); for (int i = 0; i < bunds.length; i++) { removeBundle(bunds[i]); } AuthorizeManager.removeAllPolicies(ourContext, this); HandleManager.unbindHandle(ourContext, this); DatabaseManager.delete(ourContext, itemRow); } Item(Context context, TableRow row); static Item find(Context context, int id); static ItemIterator findAll(Context context); static ItemIterator findBySubmitter(Context context, EPerson eperson); int getID(); String getHandle(); boolean isArchived(); boolean isWithdrawn(); Date getLastModified(); void setArchived(boolean isArchived); void setOwningCollection(Collection c); Collection getOwningCollection(); @Deprecated DCValue[] getDC(String element, String qualifier, String lang); DCValue[] getMetadata(String schema, String element, String qualifier,
            String lang); DCValue[] getMetadata(String mdString); @Deprecated void addDC(String element, String qualifier, String lang,
            String[] values); @Deprecated void addDC(String element, String qualifier, String lang,
            String value); void addMetadata(String schema, String element, String qualifier, String lang,
            String[] values); void addMetadata(String schema, String element, String qualifier, String lang,
            String[] values, String authorities[], int confidences[]); void addMetadata(String schema, String element, String qualifier,
            String lang, String value); void addMetadata(String schema, String element, String qualifier,
            String lang, String value, String authority, int confidence); @Deprecated void clearDC(String element, String qualifier, String lang); void clearMetadata(String schema, String element, String qualifier,
            String lang); EPerson getSubmitter(); void setSubmitter(EPerson sub); boolean isIn(Collection collection); Collection[] getCollections(); Community[] getCommunities(); Bundle[] getBundles(); Bundle[] getBundles(String name); Bundle createBundle(String name); void addBundle(Bundle b); void removeBundle(Bundle b); Bitstream createSingleBitstream(InputStream is, String name); Bitstream createSingleBitstream(InputStream is); Bitstream[] getNonInternalBitstreams(); void removeDSpaceLicense(); void removeLicenses(); void update(); void withdraw(); void reinstate(); void decache(); @Override boolean equals(Object obj); @Override int hashCode(); boolean isOwningCollection(Collection c); int getType(); void replaceAllItemPolicies(List<ResourcePolicy> newpolicies); void replaceAllBitstreamPolicies(List<ResourcePolicy> newpolicies); void removeGroupPolicies(Group g); void inheritCollectionDefaultPolicies(Collection c); void move(Collection from, Collection to); void move(Collection from, Collection to, boolean inheritDefaultPolicies); boolean hasUploadedFiles(); Collection[] getCollectionsNotLinked(); boolean canEdit(); String getName(); static ItemIterator findByMetadataField(Context context,
               String schema, String element, String qualifier, String value); DSpaceObject getAdminObject(int action); DSpaceObject getParentObject(); static ItemIterator findByAuthorityValue(Context context,
            String schema, String element, String qualifier, String value); static final String ANY; }### Answer:
@Test(expected=AuthorizeException.class) public void testDeleteNoAuth() throws Exception { new NonStrictExpectations() { AuthorizeManager authManager; { AuthorizeManager.authorizeAction((Context) any, (Item) any, Constants.REMOVE); result = new AuthorizeException(); } }; it.delete(); fail("Exception expected"); }