### Question:
Collection extends DSpaceObject { public Group createWorkflowGroup(int step) throws SQLException, AuthorizeException { AuthorizeUtil.authorizeManageWorkflowsGroup(ourContext, this); if (workflowGroup[step - 1] == null) { ourContext.turnOffAuthorisationSystem(); Group g = Group.create(ourContext); ourContext.restoreAuthSystemState(); g.setName("COLLECTION_" + getID() + "_WORKFLOW_STEP_" + step); g.update(); setWorkflowGroup(step, g); AuthorizeManager.addPolicy(ourContext, this, Constants.ADD, g); } return workflowGroup[step - 1]; } Collection(Context context, TableRow row); static Collection find(Context context, int id); static Collection[] findAll(Context context); ItemIterator getItems(); ItemIterator getAllItems(); int getID(); String getHandle(); String getMetadata(String field); void setMetadata(String field, String value); String getName(); Bitstream getLogo(); Bitstream setLogo(InputStream is); Group createWorkflowGroup(int step); void setWorkflowGroup(int step, Group g); Group getWorkflowGroup(int step); Group createSubmitters(); void removeSubmitters(); Group getSubmitters(); Group createAdministrators(); void removeAdministrators(); Group getAdministrators(); String getLicense(); String getLicenseCollection(); boolean hasCustomLicense(); void setLicense(String license); Item getTemplateItem(); void createTemplateItem(); void removeTemplateItem(); void addItem(Item item); void removeItem(Item item); void update(); boolean canEditBoolean(); boolean canEditBoolean(boolean useInheritance); void canEdit(); void canEdit(boolean useInheritance); Community[] getCommunities(); @Override boolean equals(Object other); @Override int hashCode(); int getType(); static Collection[] findAuthorized(Context context, Community comm,
            int actionID); int countItems(); DSpaceObject getAdminObject(int action); @Override DSpaceObject getParentObject();  }### Answer:
@Test public void testCreateWorkflowGroupAuth() throws Exception { new NonStrictExpectations() { AuthorizeUtil authManager; { AuthorizeUtil.authorizeManageWorkflowsGroup((Context) any, (Collection) any); result = null; } }; int step = 1; Group result = c.createWorkflowGroup(step); assertThat("testCreateWorkflowGroupAuth 0", result, notNullValue()); }
@Test(expected=AuthorizeException.class) public void testCreateWorkflowGroupNoAuth() throws Exception { new NonStrictExpectations() { AuthorizeUtil authManager; { AuthorizeUtil.authorizeManageWorkflowsGroup((Context) any, (Collection) any); result = new AuthorizeException(); } }; int step = 1; Group result = c.createWorkflowGroup(step); fail("Exception expected"); }