如何在集成测试期间为JIRA插件提供额外的数据源

时间:2012-06-01 09:33:05

标签: jira jira-plugin

我正在寻找一种提供额外数据源的方法,这些数据源将在使用提供的JIRA插件SDK执行集成测试时获取。

目前,我的插件通过以下方式配置Tomcat来访问我定义的JDBC数据库:

添加到server.xml:

<Resource auth="Container" 
  driverClassName="net.sourceforge.jtds.jdbc.Driver" 
  maxActive="20" 
  name="jdbc/myDS" 
  password="password" 
  type="javax.sql.DataSource" 
  url="jdbc:jtds:sqlserver://sqlserver:/database" 
  username="username"/>

这是web.xml

<resource-ref>
  <description>My Datasource</description>
  <res-ref-name>jdbc/myDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

从我的插件中,我可以按如下方式访问数据库

 Context initContext = new InitialContext();     
 Context envContext = (Context)initContext.lookup("java:/comp/env");
 DataSource ds = (DataSource)envContext.lookup("jdbc/myDS");

这个方法在使用JIRA的独立实例时工作正常,但是我使用提供的atlas-integration-test运行的集成测试启动了JIRA的嵌入式版本,而这是嵌入式版本我无法配置使用额外的数据源。

我找到了我认为需要将资源添加到entityengine.xml的文件,但是每次嵌入式服务器启动时都会重新生成该文件,因此我添加到此文件的任何更改都将丢失。

我一直在关注本指南: https://developer.atlassian.com/display/JIRADEV/Plugin+Tutorial+-+Writing+Integration+Tests+for+your+JIRA+plugin

并且在Atlassian论坛上发现了一个类似的主题仍未解决:http://forums.atlassian.com/thread.jspa?messageID=257355500&tstart=0

如何配置嵌入式JIRA版本来获取数据源?

1 个答案:

答案 0 :(得分:1)

很好的问题,但我认为在jira开发标签下的answers.atlassian.com上会更好。我知道有人有MySQL配置用于集成测试,或者只是改变了JIRA SDK的配置方式?