Class MockFolder

java.lang.Object
hudson.model.AbstractModelObject
hudson.model.Actionable
hudson.model.AbstractItem
org.jvnet.hudson.test.MockFolder
All Implemented Interfaces:
hudson.ExtensionPoint, hudson.model.Describable<hudson.model.TopLevelItem>, hudson.model.DescriptorByNameOwner, hudson.model.Item, hudson.model.ItemGroup<hudson.model.TopLevelItem>, hudson.model.ModelObject, hudson.model.ModifiableItemGroup<hudson.model.TopLevelItem>, hudson.model.ModifiableViewGroup, hudson.model.PersistenceRoot, hudson.model.Saveable, hudson.model.TopLevelItem, hudson.model.ViewGroup, hudson.search.SearchableModelObject, hudson.search.SearchItem, hudson.security.AccessControlled, jenkins.model.DirectlyModifiableTopLevelItemGroup, jenkins.model.Loadable, jenkins.model.ModelObjectWithContextMenu, jenkins.model.ModifiableTopLevelItemGroup, jenkins.util.io.OnMaster, org.kohsuke.stapler.HttpDeletable, org.kohsuke.stapler.StaplerFallback, org.kohsuke.stapler.StaplerProxy
Direct Known Subclasses:
SecuredMockFolder

public class MockFolder extends hudson.model.AbstractItem implements jenkins.model.DirectlyModifiableTopLevelItemGroup, hudson.model.TopLevelItem, hudson.model.ModifiableViewGroup, org.kohsuke.stapler.StaplerFallback
Minimal implementation of a modifiable item group akin to the CloudBees Folders plugin. No UI, just enough implementation to test functionality of code which should deal with item full names, etc.

If you need to work with the UI during the test, or just prefer to depend on a plugin POM earlier than this class, you can simply add a test dependency on cloudbees-folder to your plugin and use jenkinsRule.jenkins.createProject(Folder.class, "name").

Since:
1.494
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     

    Nested classes/interfaces inherited from interface hudson.ExtensionPoint

    hudson.ExtensionPoint.LegacyInstancesAreScopedToHudson

    Nested classes/interfaces inherited from interface org.kohsuke.stapler.HttpDeletable

    org.kohsuke.stapler.HttpDeletable.HttpDeletableDispatcher

    Nested classes/interfaces inherited from interface jenkins.model.ModelObjectWithContextMenu

    jenkins.model.ModelObjectWithContextMenu.ContextMenu, jenkins.model.ModelObjectWithContextMenu.ContextMenuVisibility, jenkins.model.ModelObjectWithContextMenu.MenuItem, jenkins.model.ModelObjectWithContextMenu.MenuItemType
  • Field Summary

    Fields inherited from class hudson.model.AbstractItem

    description, displayName, name, PRONOUN, SKIP_PERMISSION_CHECK, TASK_NOUN

    Fields inherited from interface hudson.model.Item

    BUILD, CANCEL, CONFIGURE, CREATE, DELETE, DISCOVER, EXTENDED_READ, PERMISSIONS, READ, WIPEOUT, WORKSPACE

    Fields inherited from interface hudson.model.Saveable

    NOOP
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    MockFolder(hudson.model.ItemGroup parent, String name)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <I extends hudson.model.TopLevelItem>
    I
    add(I item, String name)
     
    void
    addView(hudson.model.View view)
     
    boolean
    canAdd(hudson.model.TopLevelItem item)
     
    boolean
    canDelete(hudson.model.View view)
     
    <T extends hudson.model.TopLevelItem>
    T
    copy(T src, String name)
     
    hudson.model.TopLevelItem
    createProject(hudson.model.TopLevelItemDescriptor type, String name, boolean notify)
     
    <T extends hudson.model.TopLevelItem>
    T
    createProject(Class<T> type, String name)
    Convenience method to create a FreeStyleProject or similar.
    hudson.model.TopLevelItem
     
    void
    deleteView(hudson.model.View view)
     
    hudson.model.TopLevelItem
    doCreateItem(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp)
     
    Collection<? extends hudson.model.Job>
     
    hudson.model.TopLevelItemDescriptor
     
    hudson.model.TopLevelItem
     
    hudson.model.ItemGroup<? extends hudson.model.TopLevelItem>
     
    Collection<hudson.model.TopLevelItem>
     
    hudson.model.TopLevelItem
    getJob(String name)
    Same as getItem(java.lang.String) but named this way as a WebMethod.
    hudson.model.View
     
    getRootDirFor(hudson.model.TopLevelItem child)
     
     
     
    hudson.model.View
     
    List<hudson.model.Action>
     
    Collection<hudson.model.View>
     
    hudson.views.ViewsTabBar
     
    boolean
     
    void
    onCopiedFrom(hudson.model.Item src)
     
    void
    onDeleted(hudson.model.TopLevelItem item)
     
    void
    onLoad(hudson.model.ItemGroup<? extends hudson.model.Item> parent, String name)
     
    void
    onRenamed(hudson.model.TopLevelItem item, String oldName, String newName)
     
    void
    onViewRenamed(hudson.model.View view, String oldName, String newName)
     
    void
    remove(hudson.model.TopLevelItem item)
     
    void
    renameTo(String newName)
     

    Methods inherited from class hudson.model.AbstractItem

    checkRename, delete, delete, delete, doCheckNewName, doConfigDotXml, doConfigDotXml, doConfirmRename, doDoDelete, doDoDelete, doReload, doSetName, doSubmitDescription, doSubmitDescription, getAbsoluteUrl, getACL, getApi, getConfigFile, getDescription, getDisplayName, getDisplayNameOrNull, getFullDisplayName, getFullName, getName, getParent, getPronoun, getRelativeDisplayNameFrom, getRelativeNameFromGroup, getRootDir, getSearchName, getSearchUrl, getShortUrl, getTarget, getTaskNoun, getUrl, load, movedTo, performDelete, resolveForCLI, save, setDescription, setDisplayName, setDisplayNameOrNull, toString, updateByXml, updateByXml, writeConfigDotXml, writeReplace

    Methods inherited from class hudson.model.Actionable

    addAction, addOrReplaceAction, doContextMenu, doContextMenu, getAction, getAction, getActions, getActions, getAllActions, getDynamic, getDynamic, removeAction, removeActions, replaceAction, replaceActions

    Methods inherited from class hudson.model.AbstractModelObject

    getSearch, getSearchIndex, makeSearchIndex, requirePOST, sendError, sendError, sendError, sendError, sendError, sendError, sendError, sendError

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface hudson.security.AccessControlled

    checkAnyPermission, checkPermission, getACL, hasAnyPermission, hasPermission, hasPermission, hasPermission2

    Methods inherited from interface hudson.model.DescriptorByNameOwner

    getDescriptorByName

    Methods inherited from interface hudson.model.Item

    delete, getAbsoluteUrl, getDisplayName, getFullDisplayName, getFullName, getName, getParent, getRelativeNameFrom, getRelativeNameFrom, getShortUrl, getUrl, onCreatedFromScratch, save

    Methods inherited from interface hudson.model.ItemGroup

    allItems, allItems, allItems, getAllItems, getAllItems, getAllItems, getFullDisplayName, getFullName, getItemName, getItems, getItemsStream, getItemsStream, getUrl

    Methods inherited from interface hudson.model.ModifiableItemGroup

    doCreateItem

    Methods inherited from interface hudson.model.PersistenceRoot

    getRootDir

    Methods inherited from interface hudson.search.SearchableModelObject

    getSearch

    Methods inherited from interface hudson.search.SearchItem

    getSearchIndex, getSearchName, getSearchUrl

    Methods inherited from interface hudson.model.ViewGroup

    getAllViews, getUrl
  • Constructor Details

    • MockFolder

      protected MockFolder(hudson.model.ItemGroup parent, String name)
  • Method Details

    • onLoad

      public void onLoad(hudson.model.ItemGroup<? extends hudson.model.Item> parent, String name) throws IOException
      Specified by:
      onLoad in interface hudson.model.Item
      Overrides:
      onLoad in class hudson.model.AbstractItem
      Throws:
      IOException
    • getItems

      public Collection<hudson.model.TopLevelItem> getItems()
      Specified by:
      getItems in interface hudson.model.ItemGroup<hudson.model.TopLevelItem>
    • getItem

      public hudson.model.TopLevelItem getItem(String name)
      Specified by:
      getItem in interface hudson.model.ItemGroup<hudson.model.TopLevelItem>
    • getAllJobs

      public Collection<? extends hudson.model.Job> getAllJobs()
      Specified by:
      getAllJobs in interface hudson.model.Item
      Specified by:
      getAllJobs in class hudson.model.AbstractItem
    • copy

      public <T extends hudson.model.TopLevelItem> T copy(T src, String name) throws IOException
      Specified by:
      copy in interface jenkins.model.ModifiableTopLevelItemGroup
      Throws:
      IOException
    • onCopiedFrom

      public void onCopiedFrom(hudson.model.Item src)
      Specified by:
      onCopiedFrom in interface hudson.model.Item
      Overrides:
      onCopiedFrom in class hudson.model.AbstractItem
    • createProjectFromXML

      public hudson.model.TopLevelItem createProjectFromXML(String name, InputStream xml) throws IOException
      Specified by:
      createProjectFromXML in interface jenkins.model.ModifiableTopLevelItemGroup
      Throws:
      IOException
    • createProject

      public hudson.model.TopLevelItem createProject(@NonNull hudson.model.TopLevelItemDescriptor type, @NonNull String name, boolean notify) throws IOException
      Specified by:
      createProject in interface jenkins.model.ModifiableTopLevelItemGroup
      Throws:
      IOException
    • createProject

      public <T extends hudson.model.TopLevelItem> T createProject(@NonNull Class<T> type, @NonNull String name) throws IOException
      Convenience method to create a FreeStyleProject or similar.
      Throws:
      IOException
    • doCreateItem

      public hudson.model.TopLevelItem doCreateItem(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) throws IOException, jakarta.servlet.ServletException
      Specified by:
      doCreateItem in interface hudson.model.ModifiableItemGroup<hudson.model.TopLevelItem>
      Throws:
      IOException
      jakarta.servlet.ServletException
    • getUrlChildPrefix

      public String getUrlChildPrefix()
      Specified by:
      getUrlChildPrefix in interface hudson.model.ItemGroup<hudson.model.TopLevelItem>
    • getRootDirFor

      public File getRootDirFor(hudson.model.TopLevelItem child)
      Specified by:
      getRootDirFor in interface hudson.model.ItemGroup<hudson.model.TopLevelItem>
    • onRenamed

      public void onRenamed(hudson.model.TopLevelItem item, String oldName, String newName) throws IOException
      Specified by:
      onRenamed in interface hudson.model.ItemGroup<hudson.model.TopLevelItem>
      Throws:
      IOException
    • renameTo

      public void renameTo(String newName) throws IOException
      Overrides:
      renameTo in class hudson.model.AbstractItem
      Throws:
      IOException
    • onDeleted

      public void onDeleted(hudson.model.TopLevelItem item) throws IOException
      Specified by:
      onDeleted in interface hudson.model.ItemGroup<hudson.model.TopLevelItem>
      Throws:
      IOException
    • canAdd

      public boolean canAdd(hudson.model.TopLevelItem item)
      Specified by:
      canAdd in interface jenkins.model.DirectlyModifiableTopLevelItemGroup
    • add

      public <I extends hudson.model.TopLevelItem> I add(I item, String name) throws IOException, IllegalArgumentException
      Specified by:
      add in interface jenkins.model.DirectlyModifiableTopLevelItemGroup
      Throws:
      IOException
      IllegalArgumentException
    • remove

      public void remove(hudson.model.TopLevelItem item) throws IOException, IllegalArgumentException
      Specified by:
      remove in interface jenkins.model.DirectlyModifiableTopLevelItemGroup
      Throws:
      IOException
      IllegalArgumentException
    • getDescriptor

      public hudson.model.TopLevelItemDescriptor getDescriptor()
      Specified by:
      getDescriptor in interface hudson.model.Describable<hudson.model.TopLevelItem>
      Specified by:
      getDescriptor in interface hudson.model.TopLevelItem
    • addView

      public void addView(@NonNull hudson.model.View view) throws IOException
      Specified by:
      addView in interface hudson.model.ModifiableViewGroup
      Throws:
      IOException
    • canDelete

      public boolean canDelete(hudson.model.View view)
      Specified by:
      canDelete in interface hudson.model.ViewGroup
    • deleteView

      public void deleteView(hudson.model.View view) throws IOException
      Specified by:
      deleteView in interface hudson.model.ViewGroup
      Throws:
      IOException
    • getViews

      public Collection<hudson.model.View> getViews()
      Specified by:
      getViews in interface hudson.model.ViewGroup
    • getView

      public hudson.model.View getView(String name)
      Specified by:
      getView in interface hudson.model.ViewGroup
    • getPrimaryView

      public hudson.model.View getPrimaryView()
      Specified by:
      getPrimaryView in interface hudson.model.ViewGroup
    • onViewRenamed

      public void onViewRenamed(hudson.model.View view, String oldName, String newName)
      Specified by:
      onViewRenamed in interface hudson.model.ViewGroup
    • getViewsTabBar

      public hudson.views.ViewsTabBar getViewsTabBar()
      Specified by:
      getViewsTabBar in interface hudson.model.ViewGroup
    • getItemGroup

      public hudson.model.ItemGroup<? extends hudson.model.TopLevelItem> getItemGroup()
      Specified by:
      getItemGroup in interface hudson.model.ViewGroup
    • getViewActions

      public List<hudson.model.Action> getViewActions()
      Specified by:
      getViewActions in interface hudson.model.ViewGroup
    • getStaplerFallback

      public Object getStaplerFallback()
      Specified by:
      getStaplerFallback in interface org.kohsuke.stapler.StaplerFallback
    • getJob

      public hudson.model.TopLevelItem getJob(String name)
      Same as getItem(java.lang.String) but named this way as a WebMethod.
      See Also:
      • Hudson.getJob(java.lang.String)
    • isNameEditable

      public boolean isNameEditable()
      Overrides:
      isNameEditable in class hudson.model.AbstractItem