Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
spring-cloud-netflix
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
openSource
spring-cloud-netflix
Commits
a59f5e1c
Commit
a59f5e1c
authored
Jun 09, 2017
by
Dave Syer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Clean up some resources to keep tests running
parent
f0b424c8
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
179 additions
and
83 deletions
+179
-83
ArchaiusAutoConfiguration.java
...ork/cloud/netflix/archaius/ArchaiusAutoConfiguration.java
+15
-10
AdhocTestSuite.java
...ava/org/springframework/cloud/netflix/AdhocTestSuite.java
+5
-7
FeignAcceptEncodingTests.java
...loud/netflix/feign/encoding/FeignAcceptEncodingTests.java
+11
-8
RibbonDisabledTests.java
...ngframework/cloud/netflix/ribbon/RibbonDisabledTests.java
+5
-3
ZuulProxyAutoConfigurationTests.java
...k/cloud/netflix/zuul/ZuulProxyAutoConfigurationTests.java
+64
-0
RibbonRetryIntegrationTestBase.java
...filters/route/support/RibbonRetryIntegrationTestBase.java
+33
-24
ZuulProxyTestBase.java
...netflix/zuul/filters/route/support/ZuulProxyTestBase.java
+46
-31
No files found.
spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/archaius/ArchaiusAutoConfiguration.java
View file @
a59f5e1c
...
...
@@ -23,12 +23,21 @@ import java.util.concurrent.atomic.AtomicBoolean;
import
javax.annotation.PreDestroy
;
import
com.netflix.config.AggregatedConfiguration
;
import
com.netflix.config.ConcurrentCompositeConfiguration
;
import
com.netflix.config.ConfigurationManager
;
import
com.netflix.config.DeploymentContext
;
import
com.netflix.config.DynamicProperty
;
import
com.netflix.config.DynamicPropertyFactory
;
import
com.netflix.config.DynamicURLConfiguration
;
import
org.apache.commons.configuration.AbstractConfiguration
;
import
org.apache.commons.configuration.ConfigurationBuilder
;
import
org.apache.commons.configuration.EnvironmentConfiguration
;
import
org.apache.commons.configuration.SystemConfiguration
;
import
org.apache.commons.configuration.event.ConfigurationEvent
;
import
org.apache.commons.configuration.event.ConfigurationListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.actuate.condition.ConditionalOnEnabledEndpoint
;
import
org.springframework.boot.actuate.endpoint.Endpoint
;
...
...
@@ -44,14 +53,6 @@ import org.springframework.core.env.ConfigurableEnvironment;
import
org.springframework.core.env.Environment
;
import
org.springframework.util.ReflectionUtils
;
import
com.netflix.config.AggregatedConfiguration
;
import
com.netflix.config.ConcurrentCompositeConfiguration
;
import
com.netflix.config.ConfigurationManager
;
import
com.netflix.config.DeploymentContext
;
import
com.netflix.config.DynamicProperty
;
import
com.netflix.config.DynamicPropertyFactory
;
import
com.netflix.config.DynamicURLConfiguration
;
import
static
com
.
netflix
.
config
.
ConfigurationManager
.
APPLICATION_PROPERTIES
;
import
static
com
.
netflix
.
config
.
ConfigurationManager
.
DISABLE_DEFAULT_ENV_CONFIG
;
import
static
com
.
netflix
.
config
.
ConfigurationManager
.
DISABLE_DEFAULT_SYS_CONFIG
;
...
...
@@ -79,8 +80,13 @@ public class ArchaiusAutoConfiguration {
@Autowired
(
required
=
false
)
private
List
<
AbstractConfiguration
>
externalConfigurations
=
new
ArrayList
<>();
private
DynamicURLConfiguration
defaultURLConfig
;
@PreDestroy
public
void
close
()
{
if
(
defaultURLConfig
!=
null
)
{
defaultURLConfig
.
stopLoading
();
}
setStatic
(
ConfigurationManager
.
class
,
"instance"
,
null
);
setStatic
(
ConfigurationManager
.
class
,
"customConfigurationInstalled"
,
false
);
setStatic
(
DynamicPropertyFactory
.
class
,
"config"
,
null
);
...
...
@@ -154,8 +160,7 @@ public class ArchaiusAutoConfiguration {
config
.
addConfiguration
(
envConfig
,
ConfigurableEnvironmentConfiguration
.
class
.
getSimpleName
());
// below come from ConfigurationManager.createDefaultConfigInstance()
DynamicURLConfiguration
defaultURLConfig
=
new
DynamicURLConfiguration
();
defaultURLConfig
=
new
DynamicURLConfiguration
();
try
{
config
.
addConfiguration
(
defaultURLConfig
,
URL_CONFIG_NAME
);
}
...
...
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/AdhocTestSuite.java
View file @
a59f5e1c
...
...
@@ -20,11 +20,9 @@ import org.junit.Ignore;
import
org.junit.runner.RunWith
;
import
org.junit.runners.Suite
;
import
org.junit.runners.Suite.SuiteClasses
;
import
org.springframework.cloud.netflix.feign.encoding.FeignAcceptEncodingTests
;
import
org.springframework.cloud.netflix.metrics.servo.ServoMetricReaderTests
;
import
org.springframework.cloud.netflix.ribbon.RibbonInterceptorTests
;
import
org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClientTests
;
import
org.springframework.cloud.netflix.zuul.ZuulProxyConfigurationTests
;
import
org.springframework.cloud.netflix.zuul.FormZuulServletProxyApplicationTests
;
import
org.springframework.cloud.netflix.zuul.ZuulProxyAutoConfigurationTests
;
/**
* A test suite for probing weird ordering problems in the tests.
...
...
@@ -32,8 +30,8 @@ import org.springframework.cloud.netflix.zuul.ZuulProxyConfigurationTests;
* @author Dave Syer
*/
@RunWith
(
Suite
.
class
)
@SuiteClasses
({
RibbonLoadBalancerClientTests
.
class
,
RibbonInterceptorTests
.
class
,
FeignAcceptEncoding
Tests
.
class
,
ServoMetricReaderTests
.
class
,
ZuulProxyConfigur
ationTests
.
class
})
@SuiteClasses
({
ZuulProxyAutoConfiguration
Tests
.
class
,
FormZuulServletProxyApplic
ationTests
.
class
})
@Ignore
public
class
AdhocTestSuite
{
...
...
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/encoding/FeignAcceptEncodingTests.java
View file @
a59f5e1c
...
...
@@ -16,14 +16,16 @@
package
org
.
springframework
.
cloud
.
netflix
.
feign
.
encoding
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
java.util.Collections
;
import
java.util.List
;
import
com.netflix.loadbalancer.BaseLoadBalancer
;
import
com.netflix.loadbalancer.ILoadBalancer
;
import
com.netflix.loadbalancer.Server
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
...
...
@@ -37,11 +39,11 @@ import org.springframework.context.annotation.Bean;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
org.springframework.test.annotation.DirtiesContext
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
com.netflix.loadbalancer.BaseLoadBalancer
;
import
com.netflix.loadbalancer.ILoadBalancer
;
import
com.netflix.loadbalancer.Server
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
/**
* Tests the response compression.
...
...
@@ -50,7 +52,8 @@ import com.netflix.loadbalancer.Server;
*/
@SpringBootTest
(
classes
=
FeignAcceptEncodingTests
.
Application
.
class
,
webEnvironment
=
WebEnvironment
.
RANDOM_PORT
,
value
=
{
"feign.compression.response.enabled=true"
})
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@RunWith
(
SpringRunner
.
class
)
@DirtiesContext
public
class
FeignAcceptEncodingTests
{
@Autowired
...
...
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonDisabledTests.java
View file @
a59f5e1c
...
...
@@ -20,6 +20,7 @@ package org.springframework.cloud.netflix.ribbon;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.boot.builder.SpringApplicationBuilder
;
import
org.springframework.cloud.ClassPathExclusions
;
import
org.springframework.cloud.FilteredClassPathRunner
;
...
...
@@ -28,12 +29,12 @@ import org.springframework.cloud.FilteredClassPathRunner;
* @author Ryan Baxter
*/
@RunWith
(
FilteredClassPathRunner
.
class
)
@ClassPathExclusions
({
"ribbon-{version:\\d.*}.jar"
})
@ClassPathExclusions
({
"ribbon-{version:\\d.*}.jar"
})
public
class
RibbonDisabledTests
{
@Test
(
expected
=
ArrayStoreException
.
class
)
public
void
testRibbonDisabled
()
{
new
SpringApplicationBuilder
().
web
(
false
)
.
sources
(
RibbonAutoConfiguration
.
class
).
run
();
new
SpringApplicationBuilder
().
web
(
false
)
.
sources
(
RibbonAutoConfiguration
.
class
)
.
run
().
close
();
}
}
\ No newline at end of file
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ZuulProxyAutoConfigurationTests.java
0 → 100644
View file @
a59f5e1c
/*
* Copyright 2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package
org
.
springframework
.
cloud
.
netflix
.
zuul
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.cloud.netflix.zuul.filters.CompositeRouteLocator
;
import
org.springframework.cloud.netflix.zuul.filters.RouteLocator
;
import
org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.test.annotation.DirtiesContext
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
/**
* To test the auto-configuration of Zuul Proxy
*
* @author Biju Kunjummen
*
*/
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
@DirtiesContext
public
class
ZuulProxyAutoConfigurationTests
{
@Autowired
private
RouteLocator
routeLocator
;
@Autowired
(
required
=
false
)
private
RibbonRoutingFilter
ribbonRoutingFilter
;
@Test
public
void
testAutoConfiguredBeans
()
{
assertThat
(
routeLocator
).
isInstanceOf
(
CompositeRouteLocator
.
class
);
assertThat
(
this
.
ribbonRoutingFilter
).
isNotNull
();
}
@Configuration
@EnableAutoConfiguration
@EnableZuulProxy
static
class
TestConfig
{
}
}
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/support/RibbonRetryIntegrationTestBase.java
View file @
a59f5e1c
...
...
@@ -18,10 +18,15 @@
package
org
.
springframework
.
cloud
.
netflix
.
zuul
.
filters
.
route
.
support
;
import
com.netflix.loadbalancer.Server
;
import
com.netflix.loadbalancer.ServerList
;
import
com.netflix.zuul.context.RequestContext
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.test.web.client.TestRestTemplate
;
...
...
@@ -47,10 +52,6 @@ import org.springframework.web.bind.annotation.RequestMethod;
import
org.springframework.web.bind.annotation.ResponseStatus
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.netflix.loadbalancer.Server
;
import
com.netflix.loadbalancer.ServerList
;
import
com.netflix.zuul.context.RequestContext
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
/**
...
...
@@ -67,12 +68,10 @@ public abstract class RibbonRetryIntegrationTestBase {
public
void
setup
()
{
RequestContext
.
getCurrentContext
().
clear
();
String
uri
=
"/resetError"
;
new
TestRestTemplate
().
exchange
(
"http://localhost:"
+
this
.
port
+
uri
,
HttpMethod
.
GET
,
new
HttpEntity
<>((
Void
)
null
),
String
.
class
);
new
TestRestTemplate
().
exchange
(
"http://localhost:"
+
this
.
port
+
uri
,
HttpMethod
.
GET
,
new
HttpEntity
<>((
Void
)
null
),
String
.
class
);
}
@Test
public
void
retryable
()
{
String
uri
=
"/retryable/everyothererror"
;
...
...
@@ -147,9 +146,11 @@ public abstract class RibbonRetryIntegrationTestBase {
@RibbonClient
(
name
=
"retryable"
,
configuration
=
RibbonClientConfiguration
.
class
),
@RibbonClient
(
name
=
"disableretry"
,
configuration
=
RibbonClientConfiguration
.
class
),
@RibbonClient
(
name
=
"globalretrydisabled"
,
configuration
=
RibbonClientConfiguration
.
class
),
@RibbonClient
(
name
=
"getretryable"
,
configuration
=
RibbonClientConfiguration
.
class
)})
@RibbonClient
(
name
=
"getretryable"
,
configuration
=
RibbonClientConfiguration
.
class
)
})
public
static
class
RetryableTestConfig
{
private
final
Log
LOG
=
LogFactory
.
getLog
(
RetryableTestConfig
.
class
);
private
boolean
error
=
true
;
@RequestMapping
(
"/resetError"
)
...
...
@@ -162,13 +163,14 @@ public abstract class RibbonRetryIntegrationTestBase {
boolean
shouldError
=
error
;
error
=
!
error
;
try
{
if
(
shouldError
)
{
if
(
shouldError
)
{
Thread
.
sleep
(
80000
);
}
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
catch
(
InterruptedException
e
)
{
LOG
.
info
(
e
);
Thread
.
currentThread
().
interrupt
();
}
return
new
ResponseEntity
<
String
>(
"no error"
,
HttpStatus
.
OK
);
}
...
...
@@ -183,9 +185,9 @@ public abstract class RibbonRetryIntegrationTestBase {
public
ResponseEntity
<
String
>
fourOFourError
()
{
boolean
shouldError
=
error
;
error
=
!
error
;
if
(
shouldError
)
{
return
new
ResponseEntity
<
String
>(
"not found"
,
HttpStatus
.
NOT_FOUND
);
}
if
(
shouldError
)
{
return
new
ResponseEntity
<
String
>(
"not found"
,
HttpStatus
.
NOT_FOUND
);
}
return
new
ResponseEntity
<
String
>(
"no error"
,
HttpStatus
.
OK
);
}
...
...
@@ -204,14 +206,17 @@ public abstract class RibbonRetryIntegrationTestBase {
}
@Configuration
public
static
class
FourOFourRetryableRibbonConfiguration
extends
RibbonClientConfiguration
{
public
static
class
FourOFourRetryableRibbonConfiguration
extends
RibbonClientConfiguration
{
@Bean
public
LoadBalancedRetryPolicyFactory
loadBalancedRetryPolicyFactory
(
SpringClientFactory
factory
)
{
public
LoadBalancedRetryPolicyFactory
loadBalancedRetryPolicyFactory
(
SpringClientFactory
factory
)
{
return
new
MyRibbonRetryPolicyFactory
(
factory
);
}
public
static
class
MyRibbonRetryPolicyFactory
extends
RibbonLoadBalancedRetryPolicyFactory
{
public
static
class
MyRibbonRetryPolicyFactory
extends
RibbonLoadBalancedRetryPolicyFactory
{
private
SpringClientFactory
factory
;
...
...
@@ -221,21 +226,25 @@ public abstract class RibbonRetryIntegrationTestBase {
}
@Override
public
LoadBalancedRetryPolicy
create
(
String
serviceId
,
ServiceInstanceChooser
loadBalanceChooser
)
{
public
LoadBalancedRetryPolicy
create
(
String
serviceId
,
ServiceInstanceChooser
loadBalanceChooser
)
{
RibbonLoadBalancerContext
lbContext
=
this
.
factory
.
getLoadBalancerContext
(
serviceId
);
return
new
MyLoadBalancedRetryPolicy
(
serviceId
,
lbContext
,
loadBalanceChooser
);
return
new
MyLoadBalancedRetryPolicy
(
serviceId
,
lbContext
,
loadBalanceChooser
);
}
class
MyLoadBalancedRetryPolicy
extends
RibbonLoadBalancedRetryPolicy
{
public
MyLoadBalancedRetryPolicy
(
String
serviceId
,
RibbonLoadBalancerContext
context
,
ServiceInstanceChooser
loadBalanceChooser
)
{
public
MyLoadBalancedRetryPolicy
(
String
serviceId
,
RibbonLoadBalancerContext
context
,
ServiceInstanceChooser
loadBalanceChooser
)
{
super
(
serviceId
,
context
,
loadBalanceChooser
);
}
@Override
public
boolean
retryableStatusCode
(
int
statusCode
)
{
if
(
statusCode
==
HttpStatus
.
NOT_FOUND
.
value
())
{
public
boolean
retryableStatusCode
(
int
statusCode
)
{
if
(
statusCode
==
HttpStatus
.
NOT_FOUND
.
value
())
{
return
true
;
}
return
super
.
retryableStatusCode
(
statusCode
);
...
...
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/support/ZuulProxyTestBase.java
View file @
a59f5e1c
...
...
@@ -27,9 +27,19 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.atomic.AtomicBoolean
;
import
javax.servlet.http.HttpServletRequest
;
import
com.netflix.loadbalancer.Server
;
import
com.netflix.loadbalancer.ServerList
;
import
com.netflix.zuul.ZuulFilter
;
import
com.netflix.zuul.context.RequestContext
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.autoconfigure.web.BasicErrorController
;
...
...
@@ -43,6 +53,7 @@ import org.springframework.cloud.netflix.zuul.filters.ZuulProperties;
import
org.springframework.cloud.netflix.zuul.filters.discovery.DiscoveryClientRouteLocator
;
import
org.springframework.cloud.netflix.zuul.filters.route.RibbonCommandFactory
;
import
org.springframework.cloud.netflix.zuul.filters.route.ZuulFallbackProvider
;
import
org.springframework.cloud.netflix.zuul.filters.route.support.RibbonRetryIntegrationTestBase.RetryableTestConfig
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.http.HttpEntity
;
...
...
@@ -65,10 +76,6 @@ import org.springframework.web.bind.annotation.RequestParam;
import
org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
;
import
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
;
import
com.netflix.loadbalancer.Server
;
import
com.netflix.loadbalancer.ServerList
;
import
com.netflix.zuul.ZuulFilter
;
import
com.netflix.zuul.context.RequestContext
;
import
static
org
.
hamcrest
.
Matchers
.
is
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
...
...
@@ -214,12 +221,13 @@ public abstract class ZuulProxyTestBase {
public
void
ribbonDeleteWithBody
()
{
this
.
endpoint
.
reset
();
ResponseEntity
<
String
>
result
=
new
TestRestTemplate
().
exchange
(
"http://localhost:"
+
this
.
port
+
"/simple/deletewithbody"
,
HttpMethod
.
DELETE
,
new
HttpEntity
<>(
"deleterequestbody"
),
String
.
class
);
"http://localhost:"
+
this
.
port
+
"/simple/deletewithbody"
,
HttpMethod
.
DELETE
,
new
HttpEntity
<>(
"deleterequestbody"
),
String
.
class
);
assertEquals
(
HttpStatus
.
OK
,
result
.
getStatusCode
());
if
(
supportsDeleteWithBody
())
{
assertEquals
(
"Deleted deleterequestbody"
,
result
.
getBody
());
}
else
{
}
else
{
assertEquals
(
"Deleted null"
,
result
.
getBody
());
}
}
...
...
@@ -286,16 +294,16 @@ public abstract class ZuulProxyTestBase {
assertEquals
(
HttpStatus
.
OK
,
result
.
getStatusCode
());
assertEquals
(
"Patched 1!"
,
result
.
getBody
());
}
@SuppressWarnings
(
"deprecation"
)
@Test
public
void
javascriptEncodedFormParams
()
{
TestRestTemplate
testRestTemplate
=
new
TestRestTemplate
();
ArrayList
<
HttpMessageConverter
<?>>
converters
=
new
ArrayList
<>();
converters
.
addAll
(
Arrays
.
asList
(
new
StringHttpMessageConverter
(),
converters
.
addAll
(
Arrays
.
asList
(
new
StringHttpMessageConverter
(),
new
NoEncodingFormHttpMessageConverter
()));
testRestTemplate
.
getRestTemplate
().
setMessageConverters
(
converters
);
MultiValueMap
<
String
,
String
>
map
=
new
LinkedMultiValueMap
<>();
map
.
add
(
"foo"
,
"(bar)"
);
ResponseEntity
<
String
>
result
=
testRestTemplate
.
postForEntity
(
...
...
@@ -307,9 +315,11 @@ public abstract class ZuulProxyTestBase {
public
static
abstract
class
AbstractZuulProxyApplication
extends
DelegatingWebMvcConfiguration
{
private
final
Log
LOG
=
LogFactory
.
getLog
(
RetryableTestConfig
.
class
);
@RequestMapping
(
value
=
"/local/{id}"
,
method
=
RequestMethod
.
PATCH
)
public
String
patch
(
@PathVariable
final
String
id
,
@RequestBody
final
String
body
)
{
@RequestBody
final
String
body
)
{
return
"Patched "
+
id
+
"!"
;
}
...
...
@@ -322,11 +332,12 @@ public abstract class ZuulProxyTestBase {
public
String
local
()
{
return
"Hello local"
;
}
@RequestMapping
(
value
=
"/local"
,
method
=
RequestMethod
.
POST
)
public
String
postWithFormParam
(
HttpServletRequest
request
,
public
String
postWithFormParam
(
HttpServletRequest
request
,
@RequestBody
MultiValueMap
<
String
,
String
>
body
)
{
return
"Posted "
+
body
.
get
(
"foo"
)
+
" and Content-Length was: "
+
request
.
getContentLength
()
+
"!"
;
return
"Posted "
+
body
.
get
(
"foo"
)
+
" and Content-Length was: "
+
request
.
getContentLength
()
+
"!"
;
}
@RequestMapping
(
value
=
"/deletewithbody"
,
method
=
RequestMethod
.
DELETE
)
...
...
@@ -371,8 +382,10 @@ public abstract class ZuulProxyTestBase {
public
String
slow
()
{
try
{
Thread
.
sleep
(
80000
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
catch
(
InterruptedException
e
)
{
LOG
.
info
(
e
);
Thread
.
currentThread
().
interrupt
();
}
return
"slow"
;
}
...
...
@@ -422,7 +435,6 @@ public abstract class ZuulProxyTestBase {
return
mapping
;
}
}
public
static
class
FallbackProvider
implements
ZuulFallbackProvider
{
...
...
@@ -469,14 +481,16 @@ public abstract class ZuulProxyTestBase {
};
}
}
@Configuration
public
class
FormEncodedMessageConverterConfiguration
extends
WebMvcConfigurerAdapter
{
public
class
FormEncodedMessageConverterConfiguration
extends
WebMvcConfigurerAdapter
{
@Override
public
void
configureMessageConverters
(
List
<
HttpMessageConverter
<?>>
converters
)
{
FormHttpMessageConverter
converter
=
new
FormHttpMessageConverter
();
MediaType
mediaType
=
new
MediaType
(
"application"
,
"x-www-form-urlencoded"
,
Charset
.
forName
(
"UTF-8"
));
MediaType
mediaType
=
new
MediaType
(
"application"
,
"x-www-form-urlencoded"
,
Charset
.
forName
(
"UTF-8"
));
converter
.
setSupportedMediaTypes
(
Arrays
.
asList
(
mediaType
));
converters
.
add
(
converter
);
super
.
configureMessageConverters
(
converters
);
...
...
@@ -492,8 +506,8 @@ public abstract class ZuulProxyTestBase {
@Bean
public
ServerList
<
Server
>
ribbonServerList
()
{
return
new
StaticServerList
<>(
new
Server
(
"localhost"
,
this
.
port
));
}
return
new
StaticServerList
<>(
new
Server
(
"localhost"
,
this
.
port
));
}
}
...
...
@@ -516,12 +530,13 @@ public abstract class ZuulProxyTestBase {
AtomicBoolean
controllerUsed
=
new
AtomicBoolean
();
public
MyErrorController
(
ErrorAttributes
errorAttributes
)
{
super
(
errorAttributes
,
new
ErrorProperties
());
}
super
(
errorAttributes
,
new
ErrorProperties
());
}
@Override
public
ResponseEntity
<
Map
<
String
,
Object
>>
error
(
HttpServletRequest
request
)
{
String
errorUri
=
(
String
)
request
.
getAttribute
(
"javax.servlet.error.request_uri"
);
String
errorUri
=
(
String
)
request
.
getAttribute
(
"javax.servlet.error.request_uri"
);
if
(
errorUri
!=
null
&&
errorUri
.
equals
(
this
.
uriToMatch
.
get
()))
{
controllerUsed
.
set
(
true
);
...
...
@@ -531,15 +546,15 @@ public abstract class ZuulProxyTestBase {
}
public
void
setUriToMatch
(
String
uri
)
{
this
.
uriToMatch
.
set
(
uri
);
}
this
.
uriToMatch
.
set
(
uri
);
}
public
boolean
wasControllerUsed
()
{
return
this
.
controllerUsed
.
get
();
}
return
this
.
controllerUsed
.
get
();
}
public
void
clear
()
{
this
.
controllerUsed
.
set
(
false
);
}
this
.
controllerUsed
.
set
(
false
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment