[
https://issues.apache.org/jira/browse/SLING-5681?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Konrad Windszus updated SLING-5681:
-----------------------------------
Description:
Currently if a bundle being deployed through the {{ClientSideTeleporter}}
cannot be started, this is only detected because the Remote JUnit Servlet does
not return a non 404 status. This should be improved by relying on the
http://felix.apache.org/documentation/subprojects/apache-felix-web-console/web-console-restful-api.html#bundles-plugin
and a check on the JSON response.
An error response of e.g.
{{http://localhost:41005/system/console/bundles/ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c:0.json}}
might look like this
{code}
{
"status": "Bundle information: 140 bundles in total, 134 bundles active, 5
bundles active fragments, 1 bundle installed.",
"s": [
140,
134,
5,
0,
1
],
"data": [
{
"id": 142,
"name":
"ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c",
"fragment": false,
"stateRaw": 2,
"state": "Installed",
"version": "0",
"symbolicName":
"ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c",
"category": "",
"props": [
{
"key": "Symbolic Name",
"value":
"ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c"
},
{
"key": "Version",
"value": "0"
},
{
"key": "Bundle Location",
"value":
"inputstream:ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c.jar"
},
{
"key": "Last Modification",
"value": "Fri Apr 22 14:08:27 CEST 2016"
},
{
"key": "Start Level",
"value": 20
},
{
"key": "Imported Packages",
"value": [
"ERROR: org.apache.sling.junit.rules -- Cannot be resolved",
"ERROR: org.junit -- Cannot be resolved",
"org.osgi.service.cm from <a
href='/system/console/bundles/7'>org.apache.felix.configadmin (7)</a>"
]
},
{
"key": "Manifest Headers",
"value": [
"Bnd-LastModified: 1461326886812",
"Built-By: konradwindszus",
"Bundle-ManifestVersion: 2",
"Bundle-Name:
ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c",
"Bundle-SymbolicName:
ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c",
"Bundle-Version: 0",
"Created-By: 1.8.0_74 (Oracle Corporation)",
"Import-Package: org.apache.sling.junit.rules, org.junit,
org.osgi.service.cm",
"Manifest-Version: 1.0",
"Originally-Created-By: pax-tinybundles-2.0.0",
"Private-Package: org.apache.sling.testing.samples.modulewit",
"Sling-Test-Regexp:
org.apache.sling.testing.samples.modulewit.BasicTeleportedIT.*",
"TinybundlesVersion: pax-tinybundles-2.0.0",
"Tool: Bnd-2.1.0.20130426-122213"
]
},
{
"key": "nfo",
"value": {}
}
]
}
]
}
{code}
So the {{state}} as well as the {{Imported Packages}} section gives a good
hint, why a bundle could not be started!
was:
Currently if a bundle being deployed through the {[ClientSideTeleporter}}
cannot be started, this is only detected because the Remote JUnit Servlet does
not return a non 404 status. This should be improved by relying on the
http://felix.apache.org/documentation/subprojects/apache-felix-web-console/web-console-restful-api.html#bundles-plugin
and a check on the JSON response.
An error response of e.g.
{{http://localhost:41005/system/console/bundles/ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c:0.json}}
might look like this
{code}
{
"status": "Bundle information: 140 bundles in total, 134 bundles active, 5
bundles active fragments, 1 bundle installed.",
"s": [
140,
134,
5,
0,
1
],
"data": [
{
"id": 142,
"name":
"ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c",
"fragment": false,
"stateRaw": 2,
"state": "Installed",
"version": "0",
"symbolicName":
"ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c",
"category": "",
"props": [
{
"key": "Symbolic Name",
"value":
"ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c"
},
{
"key": "Version",
"value": "0"
},
{
"key": "Bundle Location",
"value":
"inputstream:ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c.jar"
},
{
"key": "Last Modification",
"value": "Fri Apr 22 14:08:27 CEST 2016"
},
{
"key": "Start Level",
"value": 20
},
{
"key": "Imported Packages",
"value": [
"ERROR: org.apache.sling.junit.rules -- Cannot be resolved",
"ERROR: org.junit -- Cannot be resolved",
"org.osgi.service.cm from <a
href='/system/console/bundles/7'>org.apache.felix.configadmin (7)</a>"
]
},
{
"key": "Manifest Headers",
"value": [
"Bnd-LastModified: 1461326886812",
"Built-By: konradwindszus",
"Bundle-ManifestVersion: 2",
"Bundle-Name:
ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c",
"Bundle-SymbolicName:
ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c",
"Bundle-Version: 0",
"Created-By: 1.8.0_74 (Oracle Corporation)",
"Import-Package: org.apache.sling.junit.rules, org.junit,
org.osgi.service.cm",
"Manifest-Version: 1.0",
"Originally-Created-By: pax-tinybundles-2.0.0",
"Private-Package: org.apache.sling.testing.samples.modulewit",
"Sling-Test-Regexp:
org.apache.sling.testing.samples.modulewit.BasicTeleportedIT.*",
"TinybundlesVersion: pax-tinybundles-2.0.0",
"Tool: Bnd-2.1.0.20130426-122213"
]
},
{
"key": "nfo",
"value": {}
}
]
}
]
}
{code}
So the {{state}} as well as the {{Imported Packages}} section gives a good
hint, why a bundle could not be started!
> Teleporter: Improve mechanism to check if a deployed test bundle can be
> started
> -------------------------------------------------------------------------------
>
> Key: SLING-5681
> URL: https://issues.apache.org/jira/browse/SLING-5681
> Project: Sling
> Issue Type: Improvement
> Components: Testing
> Affects Versions: JUnit Tests Teleporter 1.0.6
> Reporter: Konrad Windszus
>
> Currently if a bundle being deployed through the {{ClientSideTeleporter}}
> cannot be started, this is only detected because the Remote JUnit Servlet
> does not return a non 404 status. This should be improved by relying on the
> http://felix.apache.org/documentation/subprojects/apache-felix-web-console/web-console-restful-api.html#bundles-plugin
> and a check on the JSON response.
> An error response of e.g.
> {{http://localhost:41005/system/console/bundles/ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c:0.json}}
> might look like this
> {code}
> {
> "status": "Bundle information: 140 bundles in total, 134 bundles active, 5
> bundles active fragments, 1 bundle installed.",
> "s": [
> 140,
> 134,
> 5,
> 0,
> 1
> ],
> "data": [
> {
> "id": 142,
> "name":
> "ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c",
> "fragment": false,
> "stateRaw": 2,
> "state": "Installed",
> "version": "0",
> "symbolicName":
> "ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c",
> "category": "",
> "props": [
> {
> "key": "Symbolic Name",
> "value":
> "ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c"
> },
> {
> "key": "Version",
> "value": "0"
> },
> {
> "key": "Bundle Location",
> "value":
> "inputstream:ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c.jar"
> },
> {
> "key": "Last Modification",
> "value": "Fri Apr 22 14:08:27 CEST 2016"
> },
> {
> "key": "Start Level",
> "value": 20
> },
> {
> "key": "Imported Packages",
> "value": [
> "ERROR: org.apache.sling.junit.rules -- Cannot be resolved",
> "ERROR: org.junit -- Cannot be resolved",
> "org.osgi.service.cm from <a
> href='/system/console/bundles/7'>org.apache.felix.configadmin (7)</a>"
> ]
> },
> {
> "key": "Manifest Headers",
> "value": [
> "Bnd-LastModified: 1461326886812",
> "Built-By: konradwindszus",
> "Bundle-ManifestVersion: 2",
> "Bundle-Name:
> ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c",
> "Bundle-SymbolicName:
> ClientSideTeleporter.14-07-21-.837e5ada-c58a-4653-9087-e1c4aad27e0c",
> "Bundle-Version: 0",
> "Created-By: 1.8.0_74 (Oracle Corporation)",
> "Import-Package: org.apache.sling.junit.rules, org.junit,
> org.osgi.service.cm",
> "Manifest-Version: 1.0",
> "Originally-Created-By: pax-tinybundles-2.0.0",
> "Private-Package: org.apache.sling.testing.samples.modulewit",
> "Sling-Test-Regexp:
> org.apache.sling.testing.samples.modulewit.BasicTeleportedIT.*",
> "TinybundlesVersion: pax-tinybundles-2.0.0",
> "Tool: Bnd-2.1.0.20130426-122213"
> ]
> },
> {
> "key": "nfo",
> "value": {}
> }
> ]
> }
> ]
> }
> {code}
> So the {{state}} as well as the {{Imported Packages}} section gives a good
> hint, why a bundle could not be started!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)