[JBoss JIRA] (ARQ-1172) Implement an embedded WebLogic Server container
by Vineet Reynolds (JIRA)
Vineet Reynolds created ARQ-1172:
------------------------------------
Summary: Implement an embedded WebLogic Server container
Key: ARQ-1172
URL: https://issues.jboss.org/browse/ARQ-1172
Project: Arquillian
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: WebLogic Containers
Reporter: Vineet Reynolds
Assignee: Vineet Reynolds
Priority: Minor
WebLogic Server 12c supports EJB 3.1 and is hence expected to support testing of EJBs in an embedded container, at a minimum.
This feature request is to investigate implementation of the embedded Arquillian container for WLS 12c in particular. Support for an embedded mode of operation for WLS 10.3.x is to be investigated, and may be implemented if supported by Oracle (as documentated APIs or similar).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years
[JBoss JIRA] (ARQ-856) Embedded GlassFish adapter may use an incorrect HTTP port when a custom domain configuration XML file is used
by Vineet Reynolds (JIRA)
Vineet Reynolds created ARQ-856:
-----------------------------------
Summary: Embedded GlassFish adapter may use an incorrect HTTP port when a custom domain configuration XML file is used
Key: ARQ-856
URL: https://issues.jboss.org/browse/ARQ-856
Project: Arquillian
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Vineet Reynolds
The embedded GlassFish container uses the default HTTP bind port of 8181, even though the user-supplied domain configuration XML file may specify a different HTTP port. This results in the following exception being thrown when the Arquillian client attempts to execute a test:
{code}
...
INFO: WELD-000900 SNAPSHOT
9 Apr, 2012 11:06:12 AM com.sun.enterprise.web.WebApplication start
INFO: WEB0671: Loading application [test] at [/test]
9 Apr, 2012 11:06:13 AM org.glassfish.deployment.admin.DeployCommand execute
INFO: test was successfully deployed in 18,014 milliseconds.
java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:769)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.execute(ServletMethodExecutor.java:206)
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.access$000(ServletMethodExecutor.java:43)
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor$1.run(ServletMethodExecutor.java:99)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
{code}
Note that the deployment is successful, but the {{HTTPContext}} returned by the embedded GlassFish adapter contains the wrong port information. In this case, the http-listener-1/http-listener-2 combo was registered in domain.xml to listen on 8080/8181. When Arquillian established a connection to port 8181, the container obviously did not respond to plain text HTTP traffic, and quite obviously the client errored out.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years
[JBoss JIRA] (ARQ-1071) NullPointerException when timeout is set in @Test when using JUnit
by Rick-Rainer Ludwig (JIRA)
Rick-Rainer Ludwig created ARQ-1071:
---------------------------------------
Summary: NullPointerException when timeout is set in @Test when using JUnit
Key: ARQ-1071
URL: https://issues.jboss.org/browse/ARQ-1071
Project: Arquillian
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 1.0.1.Final, 1.0.0.Final
Reporter: Rick-Rainer Ludwig
When defining a timeout in @Test of JUnit Arquillian throws a NullPointerException:
{code}
java.lang.NullPointerException
at org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:263)
at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOfTimeout.java:62)
{code}
The code to reproduce this:
{code}
import org.jboss.arquillian.junit.Arquillian;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(Arquillian.class)
public class TestTimeout {
@Test(timeout = 3000)
public void test() throws Exception {
Thread.sleep(1000);
}
}
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years
[JBoss JIRA] (ARQ-824) Verify Arquillian can run on JDK 1.5
by Aslak Knutsen (JIRA)
Aslak Knutsen created ARQ-824:
---------------------------------
Summary: Verify Arquillian can run on JDK 1.5
Key: ARQ-824
URL: https://issues.jboss.org/browse/ARQ-824
Project: Arquillian
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 1.0.0.CR7
Reporter: Aslak Knutsen
Assignee: Aslak Knutsen
Fix For: 1.0.0.Final
Setting compiler options target/source to 1.5 is not enough to verify that the code can actually run on JDK 1.5 since it ignores API changes. To avoid forcing developers to have JDK 1.5 installed to compile, we can add e.g. the Animal Sniffer Maven Plugin to verify using usage of JDK based on known api signatures.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years
[JBoss JIRA] Created: (ARQ-77) Support @EJB injection
by Andrew Lee Rubinger (JIRA)
Support @EJB injection
-----------------------
Key: ARQ-77
URL: https://jira.jboss.org/jira/browse/ARQ-77
Project: Arquillian
Issue Type: Feature Request
Components: OpenEJB Containers
Reporter: Andrew Lee Rubinger
Assignee: Andrew Lee Rubinger
Tests should be able to have class or instance members injected according to @EJB semantics, avoiding the need for lookup code. The prototype is currently in the OpenEJB integration module, but really we should have some EJB 3.1 Global JNDI syntax compatible resolvers (which need an EJB name, module name, app name, and business interface name). Note that portable JNDI is under java:global, so only accessible to local JVMs.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years
[JBoss JIRA] (ARQ-1044) The properties of tomcat container configuration in arquillian.xml are not parsed properly
by Karel Piwko (JIRA)
Karel Piwko created ARQ-1044:
--------------------------------
Summary: The properties of tomcat container configuration in arquillian.xml are not parsed properly
Key: ARQ-1044
URL: https://issues.jboss.org/browse/ARQ-1044
Project: Arquillian
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Configuration
Affects Versions: 1.0.1.Final
Reporter: Tomas Repel
Fix For: 1.1.0.Beta1
It is impossible to use tabs or newlines in arquillian.xml when defining properties for tomcat configuration. Only space (" ") can be used as delimiter.
For example, this configuration is OK:
{code:xml}
<container qualifier="tomcat" default="true">
<configuration>
<property name="catalinaHome">/home/tomcat6</property>
<property name="javaVmArguments">-Xmx1024m -XX:MaxPermSize=512</property>
</configuration>
</container>
{code}
While this one causes failure on startup:
{code:xml}
<container qualifier="tomcat" default="true">
<configuration>
<property name="catalinaHome">/home/tomcat6</property>
<property name="javaVmArguments">
-Xmx1024m
-XX:MaxPermSize=512
</property>
</configuration>
</container>
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years
[JBoss JIRA] (ARQ-1027) Warp + Jacoco = NullPointerException
by Curtis McMillen (JIRA)
Curtis McMillen created ARQ-1027:
------------------------------------
Summary: Warp + Jacoco = NullPointerException
Key: ARQ-1027
URL: https://issues.jboss.org/browse/ARQ-1027
Project: Arquillian
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Extension - Warp
Affects Versions: warp_1.0.0.Alpha1
Reporter: Curtis McMillen
It seems there is a problem with running Warp tests if arquillian-jacoco is on the classpath.
When WarpFilter fires the AfterSuite event, the writeCoverageData observer in arquillian-jacoco is executing which ultimately leads to a NPE coming from servlet protocol. The full stacktrace is attached.
You can reproduce by simply adding the following dependencies to the pom for warp in arquillian-showcase and then running the BasicJSFUnitTestCase.
{code:xml}
<dependency>
<groupId>org.jboss.arquillian.extension</groupId>
<artifactId>arquillian-jacoco</artifactId>
<version>1.0.0.Alpha3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.core</artifactId>
<version>0.5.7.201204190339</version>
<scope>test</scope>
</dependency>
{code}
Removing these dependencies isn't really an option because I have other arquillian tests not using Warp that I want code coverage on. I tried using alternative annotated with @Specializes thinking I could basically disable the observer in arquillian-jacoco simply by including a different beans.xml in the deployment of my Warp tests. This however fails with "WELD-000047 Specializing bean must extend another bean" which I'm thinking is due to https://issues.jboss.org/browse/WELD-1113.
Any ideas for getting this to work?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (ARQ-992) Warp does not support request redirection.
by Jakub Narloch (JIRA)
Jakub Narloch created ARQ-992:
---------------------------------
Summary: Warp does not support request redirection.
Key: ARQ-992
URL: https://issues.jboss.org/browse/ARQ-992
Project: Arquillian
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Extension - Warp
Affects Versions: warp_1.0.0.Alpha1
Reporter: Jakub Narloch
Assignee: Lukáš Fryč
When I was running tests of Spring controllers I found out that whenever a controller is redirecting the response for example by returning a String as view name: {code}return "redirect:welcome.do"{code} the test hangouts till end of timeout.
I've debuged the WarpFilter and it seems that the the Warp header is not beeing added into the 302 HTTP response. On the client side this result with ResponseDeenrichmentFilter can not find any ResponsePayload in response.
The RequestEnrichmentFilter allows to push the assertion only once, so when the second request is being made the assertion is not being send once again.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (ARQGRA-201) Guards are not working with AndroidDriver
by Karel Piwko (JIRA)
Karel Piwko created ARQGRA-201:
----------------------------------
Summary: Guards are not working with AndroidDriver
Key: ARQGRA-201
URL: https://issues.jboss.org/browse/ARQGRA-201
Project: Arquillian Graphene
Issue Type: Bug
Components: core
Affects Versions: 2.0.0.Alpha2
Reporter: Karel Piwko
Priority: Critical
Consider following example:
{code}
@Test
public void addUser() throws Exception {
driver.get(contextPath.toString());
if (driver instanceof AndroidDriver) {
waitModel().withMessage("Add button is not present.")
.until(element(By.id("addMember")).isPresent());
driver.findElement(By.id("addMember")).click();
}
waitModel().withMessage("Registration screen is not present.")
.until(element(By.id("name")).isPresent());
driver.findElement(By.id("name")).sendKeys("Samuel");
driver.findElement(By.id("email")).sendKeys("samuel(a)vimes.dw");
driver.findElement(By.id("phoneNumber")).sendKeys("1234567890");
driver.findElement(By.id("register")).submit();
Graphene.guardXhr(driver.findElement(By.id("register"))).submit();
waitModel().withMessage("Registration screen did not occur within 10 seconds.")
.until(element(By.id("name")).isPresent());
}
{code}
Guard will make the test failing because JavaScript cannot be injected. Following error is logged:
{code}
addUser(com.acme.example.test.DroneTest) Time elapsed: 38.284 sec <<< ERROR!
java.lang.IllegalStateException: The page extension 'class org.jboss.arquillian.graphene.page.extension.JavaScriptPageExtension' can't be installed.
at org.jboss.arquillian.graphene.page.extension.AbstractPageExtensionInstallator.install(AbstractPageExtensionInstallator.java:54)
at org.jboss.arquillian.graphene.page.extension.AbstractPageExtensionInstallator.install(AbstractPageExtensionInstallator.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invokeReal(GrapheneProxyHandler.java:207)
at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler$1.invoke(GrapheneProxyHandler.java:138)
at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invoke(GrapheneProxyHandler.java:167)
at $Proxy26.install(Unknown Source)
at org.jboss.arquillian.graphene.javascript.DefaultExecutionResolver.execute(DefaultExecutionResolver.java:68)
at org.jboss.arquillian.graphene.javascript.JSInterfaceHandler.invoke(JSInterfaceHandler.java:22)
at $Proxy23.clearRequestDone(Unknown Source)
at org.jboss.arquillian.graphene.guard.RequestGuardFactory$1.intercept(RequestGuardFactory.java:64)
at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:73)
at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invoke(GrapheneProxyHandler.java:167)
at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.intercept(GrapheneProxyHandler.java:175)
at org.openqa.selenium.remote.RemoteWebElement$$EnhancerCGLIB$$5a81e7d.submit(<generated>)
at com.acme.example.test.DroneTest.addUser(DroneTest.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at org.jboss.arquillian.junit.Arquillian$6$1.invoke(Arquillian.java:270)
at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.container.test.impl.execution.ClientTestExecuter.execute(ClientTestExecuter.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createTestContext(ContainerEventController.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:111)
at org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:263)
at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:226)
at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:240)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:185)
at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:234)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:133)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:114)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:188)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:166)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:101)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
{code}
This impair usage of Graphene with Android.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month