package hudson.plugins.jira; import static org.mockito.Mockito.mock; import java.util.ArrayList; import hudson.plugins.jira.model.JiraIssue; import org.junit.Test; import hudson.model.FreeStyleBuild; import hudson.plugins.jira.deprecated.DeprecatedJiraBuildAction; import hudson.util.XStream2; /** * Test if existing serialized JiraBuildAction information * will be loaded after upgrading jira plugin version to with * new JiraBuildAction class version introduced in PR-72. * */ public class JiraBuildActionTest { @Test public void testBinaryCompatibility() { XStream2 xStream2 = new XStream2(); FreeStyleBuild b = mock(FreeStyleBuild.class); DeprecatedJiraBuildAction deprecatedJiraBuildAction = new DeprecatedJiraBuildAction(b, new ArrayList<JiraIssue>()); String xml = xStream2.toXML(deprecatedJiraBuildAction); System.out.println(xml); xml = xml.replaceAll("hudson.plugins.jira.deprecated.DeprecatedJiraBuildAction", "hudson.plugins.jira.JiraBuildAction"); Object fromXML = xStream2.fromXML(xml); System.out.println(fromXML.getClass().getName()); JiraBuildAction jiraBuildAction = (JiraBuildAction) fromXML; System.out.println(jiraBuildAction.getDisplayName()); } }