package hudson.model; import static org.junit.Assert.assertNotNull; import org.junit.Rule; import org.junit.Test; import org.jvnet.hudson.test.Issue; import org.jvnet.hudson.test.JenkinsRule; import org.jvnet.hudson.test.TestExtension; /** * @author Kohsuke Kawaguchi */ public class UserPropertyTest { @Rule public JenkinsRule j = new JenkinsRule(); @Test @Issue("JENKINS-9062") public void test() throws Exception { User u = User.get("foo"); u.addProperty(new UserProperty1()); j.configRoundtrip(u); for (UserProperty p : u.getAllProperties()) assertNotNull(p); } public static class UserProperty1 extends UserProperty { @TestExtension public static class DescriptorImpl extends UserPropertyDescriptor { @Override public UserProperty newInstance(User user) { return new UserProperty1(); } } } public static class UserProperty2 extends UserProperty { @TestExtension public static class DescriptorImpl extends UserPropertyDescriptor { @Override public boolean isEnabled() { return false; } @Override public UserProperty newInstance(User user) { return new UserProperty1(); } } } }