Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-31956

Invalid record in default test data causing errors during functional tests.

    XMLWordPrintable

Details

    Description

      In attachment you will find simple plugin project where you can find SetUpTest class. During running the test following exceptions occurr:

      [INFO] [talledLocalContainer] 2013-12-12 10:15:36,637 INFO [http-1990-7] [admin.actions.plugins.UploadPluginAction] execute User 'admin' uploaded a new plugin: com.atlassian.confluence.plugin.func-test
      [INFO] [talledLocalContainer] 2013-12-12 10:15:48,946 INFO [http-1990-6] [confluence.rpc.auth.TokenAuthenticationInvocationHandler] invokeAuthenticatedMethod Executing remote API method [ reindex ] as user [ admin ]
      [INFO] [talledLocalContainer] 2013-12-12 10:15:49,094 ERROR [Indexer: 1] [xhtml.editor.macro.MacroParameterTypeParserImpl] resolveUrl URL '{widget:url=http://app.episodic.com/shows/13/episodes/pskcvfyj8x1p' was not valid, even after reencoding
      [INFO] [talledLocalContainer]  -- url: /confluence/rpc/xmlrpc | userName: admin | method: reindex
      [INFO] [talledLocalContainer] 2013-12-12 10:15:49,097 WARN [Indexer: 1] [plugins.macrousage.extractor.MacroExtractor] processXhtml Exception extracting macro usages on 98305 
      [INFO] [talledLocalContainer]  -- url: /confluence/rpc/xmlrpc | userName: admin | method: reindex
      [INFO] [talledLocalContainer] com.atlassian.confluence.content.render.xhtml.XhtmlException: RuntimeException occurred while performing an XHTML storage transformation (java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: com.atlassian.confluence.content.render.xhtml.XhtmlException: com.atlassian.confluence.content.render.xhtml.editor.macro.InvalidMacroParameterException: Invalid parameter value for macro 'widget' parameter 'url' (type url): '{widget:url=http://app.episodic.com/shows/13/episodes/pskcvfyj8x1p')
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.StorageXhtmlTransformer.transform(StorageXhtmlTransformer.java:64)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.DefaultXhtmlContent.handleMacroDefinitions(DefaultXhtmlContent.java:221)
      [INFO] [talledLocalContainer] 	at sun.reflect.GeneratedMethodAccessor344.invoke(Unknown Source)
      [INFO] [talledLocalContainer] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      [INFO] [talledLocalContainer] 	at java.lang.reflect.Method.invoke(Method.java:597)
      [INFO] [talledLocalContainer] 	at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
      [INFO] [talledLocalContainer] 	at com.sun.proxy.$Proxy241.handleMacroDefinitions(Unknown Source)
      [INFO] [talledLocalContainer] 	at sun.reflect.GeneratedMethodAccessor344.invoke(Unknown Source)
      [INFO] [talledLocalContainer] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      [INFO] [talledLocalContainer] 	at java.lang.reflect.Method.invoke(Method.java:597)
      [INFO] [talledLocalContainer] 	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154)
      [INFO] [talledLocalContainer] 	at com.sun.proxy.$Proxy241.handleMacroDefinitions(Unknown Source)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.plugins.macrousage.extractor.MacroExtractor.processXhtml(MacroExtractor.java:75)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.plugins.macrousage.extractor.MacroExtractor.addFields(MacroExtractor.java:51)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.plugin.descriptor.ExtractorModuleDescriptor$BackwardsCompatibleExtractor.addFields(ExtractorModuleDescriptor.java:42)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.search.lucene.ConfluenceDocumentBuilder.extractWithLuceneExtractors(ConfluenceDocumentBuilder.java:130)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.search.lucene.ConfluenceDocumentBuilder.getDocument(ConfluenceDocumentBuilder.java:100)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.search.lucene.tasks.AddDocumentIndexTask.perform(AddDocumentIndexTask.java:43)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.search.lucene.ReindexWorkBatch.indexCollection(ReindexWorkBatch.java:146)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.search.lucene.ReindexWorkBatch$1.doInTransaction(ReindexWorkBatch.java:113)
      [INFO] [talledLocalContainer] 	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.search.lucene.ReindexWorkBatch.executeTransaction(ReindexWorkBatch.java:84)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.search.lucene.ReindexWorkBatch.run(ReindexWorkBatch.java:72)
      [INFO] [talledLocalContainer] 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
      [INFO] [talledLocalContainer] 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      [INFO] [talledLocalContainer] 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      [INFO] [talledLocalContainer] 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      [INFO] [talledLocalContainer] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      [INFO] [talledLocalContainer] 	at java.lang.Thread.run(Thread.java:680)
      [INFO] [talledLocalContainer] Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: com.atlassian.confluence.content.render.xhtml.XhtmlException: com.atlassian.confluence.content.render.xhtml.editor.macro.InvalidMacroParameterException: Invalid parameter value for macro 'widget' parameter 'url' (type url): '{widget:url=http://app.episodic.com/shows/13/episodes/pskcvfyj8x1p'
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.ThrowExceptionOnFragmentTransformationError.handle(ThrowExceptionOnFragmentTransformationError.java:13)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transformFragment(DefaultFragmentTransformer.java:175)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transform(DefaultFragmentTransformer.java:129)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.StorageXhtmlTransformer.transform(StorageXhtmlTransformer.java:44)
      [INFO] [talledLocalContainer] 	... 28 more
      [INFO] [talledLocalContainer] Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: com.atlassian.confluence.content.render.xhtml.XhtmlException: com.atlassian.confluence.content.render.xhtml.editor.macro.InvalidMacroParameterException: Invalid parameter value for macro 'widget' parameter 'url' (type url): '{widget:url=http://app.episodic.com/shows/13/episodes/pskcvfyj8x1p'
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.ThrowExceptionOnFragmentTransformationError.handle(ThrowExceptionOnFragmentTransformationError.java:13)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transformFragment(DefaultFragmentTransformer.java:175)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transform(DefaultFragmentTransformer.java:129)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.StorageMacroV1Unmarshaller.parseRichTextMacroBody(StorageMacroV1Unmarshaller.java:151)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.StorageMacroV1Unmarshaller.unmarshal(StorageMacroV1Unmarshaller.java:110)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.DelegatingStorageMacroUnmarshaller.unmarshal(DelegatingStorageMacroUnmarshaller.java:45)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.DelegatingStorageMacroUnmarshaller.unmarshal(DelegatingStorageMacroUnmarshaller.java:18)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.UnmarshalMarshalFragmentTransformer.transform(UnmarshalMarshalFragmentTransformer.java:30)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transformFragment(DefaultFragmentTransformer.java:153)
      [INFO] [talledLocalContainer] 	... 30 more
      [INFO] [talledLocalContainer] Caused by: java.lang.RuntimeException: java.lang.RuntimeException: com.atlassian.confluence.content.render.xhtml.XhtmlException: com.atlassian.confluence.content.render.xhtml.editor.macro.InvalidMacroParameterException: Invalid parameter value for macro 'widget' parameter 'url' (type url): '{widget:url=http://app.episodic.com/shows/13/episodes/pskcvfyj8x1p'
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.ThrowExceptionOnFragmentTransformationError.handle(ThrowExceptionOnFragmentTransformationError.java:13)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transformFragment(DefaultFragmentTransformer.java:175)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transform(DefaultFragmentTransformer.java:129)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.StorageMacroV1Unmarshaller.parseRichTextMacroBody(StorageMacroV1Unmarshaller.java:151)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.StorageMacroV1Unmarshaller.unmarshal(StorageMacroV1Unmarshaller.java:110)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.DelegatingStorageMacroUnmarshaller.unmarshal(DelegatingStorageMacroUnmarshaller.java:45)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.DelegatingStorageMacroUnmarshaller.unmarshal(DelegatingStorageMacroUnmarshaller.java:18)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.UnmarshalMarshalFragmentTransformer.transform(UnmarshalMarshalFragmentTransformer.java:30)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transformFragment(DefaultFragmentTransformer.java:153)
      [INFO] [talledLocalContainer] 	... 37 more
      [INFO] [talledLocalContainer] Caused by: java.lang.RuntimeException: com.atlassian.confluence.content.render.xhtml.XhtmlException: com.atlassian.confluence.content.render.xhtml.editor.macro.InvalidMacroParameterException: Invalid parameter value for macro 'widget' parameter 'url' (type url): '{widget:url=http://app.episodic.com/shows/13/episodes/pskcvfyj8x1p'
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.ThrowExceptionOnFragmentTransformationError.handle(ThrowExceptionOnFragmentTransformationError.java:13)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transformFragment(DefaultFragmentTransformer.java:175)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transform(DefaultFragmentTransformer.java:129)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.StorageMacroV1Unmarshaller.parseRichTextMacroBody(StorageMacroV1Unmarshaller.java:151)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.StorageMacroV1Unmarshaller.unmarshal(StorageMacroV1Unmarshaller.java:110)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.DelegatingStorageMacroUnmarshaller.unmarshal(DelegatingStorageMacroUnmarshaller.java:45)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.DelegatingStorageMacroUnmarshaller.unmarshal(DelegatingStorageMacroUnmarshaller.java:18)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.UnmarshalMarshalFragmentTransformer.transform(UnmarshalMarshalFragmentTransformer.java:30)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transformFragment(DefaultFragmentTransformer.java:153)
      [INFO] [talledLocalContainer] 	... 44 more
      [INFO] [talledLocalContainer] Caused by: com.atlassian.confluence.content.render.xhtml.XhtmlException: com.atlassian.confluence.content.render.xhtml.editor.macro.InvalidMacroParameterException: Invalid parameter value for macro 'widget' parameter 'url' (type url): '{widget:url=http://app.episodic.com/shows/13/episodes/pskcvfyj8x1p'
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.StorageMacroV1Unmarshaller.parseV1Parameter(StorageMacroV1Unmarshaller.java:194)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.StorageMacroV1Unmarshaller.unmarshal(StorageMacroV1Unmarshaller.java:82)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.DelegatingStorageMacroUnmarshaller.unmarshal(DelegatingStorageMacroUnmarshaller.java:45)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.DelegatingStorageMacroUnmarshaller.unmarshal(DelegatingStorageMacroUnmarshaller.java:18)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.UnmarshalMarshalFragmentTransformer.transform(UnmarshalMarshalFragmentTransformer.java:30)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transformFragment(DefaultFragmentTransformer.java:153)
      [INFO] [talledLocalContainer] 	... 51 more
      [INFO] [talledLocalContainer] Caused by: com.atlassian.confluence.content.render.xhtml.editor.macro.InvalidMacroParameterException: Invalid parameter value for macro 'widget' parameter 'url' (type url): '{widget:url=http://app.episodic.com/shows/13/episodes/pskcvfyj8x1p'
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.editor.macro.MacroParameterTypeParserImpl.parseMacroParameter(MacroParameterTypeParserImpl.java:114)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.editor.macro.MacroParameterTypeParserImpl.parseMacroParameter(MacroParameterTypeParserImpl.java:87)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.storage.macro.StorageMacroV1Unmarshaller.parseV1Parameter(StorageMacroV1Unmarshaller.java:188)
      [INFO] [talledLocalContainer] 	... 56 more
      [INFO] [talledLocalContainer] Caused by: java.net.MalformedURLException: {widget:url=http://app.episodic.com/shows/13/episodes/pskcvfyj8x1p
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.editor.macro.MacroParameterTypeParserImpl.resolveUrl(MacroParameterTypeParserImpl.java:282)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.editor.macro.MacroParameterTypeParserImpl.parseSingleMacroParameter(MacroParameterTypeParserImpl.java:209)
      [INFO] [talledLocalContainer] 	at com.atlassian.confluence.content.render.xhtml.editor.macro.MacroParameterTypeParserImpl.parseMacroParameter(MacroParameterTypeParserImpl.java:109)
      [INFO] [talledLocalContainer] 	... 58 more
      

      I was investigating/debugging Confluence source code and I had macroName = "widget" parameterName = "url" and parameterValue = "{widget:url=http://app.episodic.com/shows/13/episodes/pskcvfyj8x1p". Parameter value looked strange for me - it turned out that there is invalid record in local HSQL database. When I changed this record (into http://app.episodic.com/shows/13/episodes/pskcvfyj8x1p) and ran tests again there were no exceptions.

      Attachments

        Activity

          People

            richatkins Richard Atkins
            908c6fd472ee Mariusz Chwalek
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: