### Question:
IniEnvironment extends DefaultEnvironment implements Initializable { @Override public void init() throws ShiroException { Ini ini = this.ini; if (ini != null) { apply(ini); } if (this.objects.isEmpty() && this.iniConfig != null) { ini = new Ini(); ini.load(this.iniConfig); apply(ini); } if (this.objects.isEmpty() && this.iniResourePath != null) { ini = new Ini(); ini.loadFromPath(this.iniResourePath); apply(ini); } if (this.objects.isEmpty()) { if (ResourceUtils.resourceExists("classpath:shiro.ini")) { ini = new Ini(); ini.loadFromPath("classpath:shiro.ini"); apply(ini); } } if (this.objects.isEmpty()) { String msg = "Configuration error. All heuristics for acquiring Shiro INI config " + "have been exhausted. Ensure you configure one of the following properties: " + "1) ini 2) iniConfig 3) iniResourcePath and the Ini sections are not empty."; throw new ConfigurationException(msg); } LifecycleUtils.init(this.objects.values()); } IniEnvironment();  IniEnvironment(Ini ini);  IniEnvironment(String iniConfig); void setIni(Ini ini); void setIniConfig(String config); void setIniResourcePath(String iniResourcePath); @Override void init();  }### Answer:
@Test public void testDefaultClasspathIni() { env = new IniEnvironment(); env.init(); authenticate("system", "manager"); }