Uploaded image for project: 'Apache Knox'
  1. Apache Knox
  2. KNOX-447

Incorrect parsing and expansion of valueless query params

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Duplicate
    • 0.4.0
    • 0.7.0
    • Server
    • None

    Description

      Parser.parse produces a result with Query object that contains an array of one null value which is incorrect.

      The test below failed with this assertion failure

      Assertion failure:
      
      Expected: equalToIgnoringCase("https://webhcatTestHost.com:50111/templeton/v1/?version/hive")
           but: was https://webhcatTestHost.com:50111/templeton/v1/?version/hive=null
      
        @Test
        public void testValuelessQueryParamParsingAndExpansion() throws Exception {
          URI inputUri, outputUri;
          Matcher<Void> matcher;
          Matcher<Void>.Match match;
          Template input, pattern, template;
          Evaluator evaluator;
      
          inputUri = new URI( "https://knoxHost:8443/gateway/knoxTopo/templeton/v1/?version/hive" );
      
          input = Parser.parse( inputUri.toString() );
          pattern = Parser.parse( "*://*:*/**/templeton/v1/?{**}" );
          template = Parser.parse( "{$serviceUrl[WEBHCAT]}/v1/?{**}" );
      
          matcher = new Matcher<Void>();
          matcher.add( pattern, null );
          match = matcher.match( input );
      
          evaluator = new Evaluator() {
            @Override
            public List<String> evaluate( String function, List<String> parameters ) {
              return Arrays.asList( "https://webhcatTestHost.com:50111/templeton" );
            }
          };
      
          outputUri = Expander.expand( template, match.getParams(), evaluator );
          assertThat( 
              outputUri.toString(),
              equalToIgnoringCase( "https://webhcatTestHost.com:50111/templeton/v1/?version/hive" ) );
      
        }
      

      Attachments

        Issue Links

          Activity

            People

              kminder Kevin Minder
              kminder Kevin Minder
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: