Skip to content

Commit

Permalink
Merge branch '2.2.x' into 2.3.x
Browse files Browse the repository at this point in the history
Closes gh-22849
  • Loading branch information
snicoll committed Aug 10, 2020
2 parents 2b57829 + afe99ad commit 980ddcf
Show file tree
Hide file tree
Showing 5 changed files with 68 additions and 7 deletions.
Expand Up @@ -131,7 +131,7 @@ public static EndpointId of(Environment environment, String value) {

private static String migrateLegacyId(Environment environment, String value) {
if (environment.getProperty(MIGRATE_LEGACY_NAMES_PROPERTY, Boolean.class, false)) {
return value.replace(".", "");
return value.replaceAll("[-.]+", "");
}
return value;
}
Expand Down
Expand Up @@ -101,12 +101,30 @@ void ofWhenContainsDeprecatedCharsLogsWarning(CapturedOutput output) {

@Test
void ofWhenMigratingLegacyNameRemovesDots(CapturedOutput output) {
EndpointId endpointId = migrateLegacyName("one.two.three");
assertThat(endpointId.toString()).isEqualTo("onetwothree");
assertThat(output).doesNotContain("contains invalid characters");
}

@Test
void ofWhenMigratingLegacyNameRemovesHyphens(CapturedOutput output) {
EndpointId endpointId = migrateLegacyName("one-two-three");
assertThat(endpointId.toString()).isEqualTo("onetwothree");
assertThat(output).doesNotContain("contains invalid characters");
}

@Test
void ofWhenMigratingLegacyNameRemovesMixOfDashAndDot(CapturedOutput output) {
EndpointId endpointId = migrateLegacyName("one.two-three");
assertThat(endpointId.toString()).isEqualTo("onetwothree");
assertThat(output).doesNotContain("contains invalid characters");
}

private EndpointId migrateLegacyName(String name) {
EndpointId.resetLoggedWarnings();
MockEnvironment environment = new MockEnvironment();
environment.setProperty("management.endpoints.migrate-legacy-ids", "true");
EndpointId endpointId = EndpointId.of(environment, "foo.bar");
assertThat(endpointId.toString()).isEqualTo("foobar");
assertThat(output).doesNotContain("contains invalid characters");
return EndpointId.of(environment, name);
}

@Test
Expand Down
@@ -0,0 +1,35 @@
/*
* Copyright 2012-2020 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
*
* https://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 smoketest.actuator;

import java.util.Collections;
import java.util.Map;

import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.stereotype.Component;

@Component
@Endpoint(id = "lega.cy")
public class SampleLegacyEndpointWithDot {

@ReadOperation
public Map<String, String> example() {
return Collections.singletonMap("legacy", "legacy");
}

}
Expand Up @@ -24,8 +24,8 @@
import org.springframework.stereotype.Component;

@Component
@Endpoint(id = "lega.cy")
public class SampleLegacyEndpoint {
@Endpoint(id = "another-legacy")
public class SampleLegacyEndpointWithHyphen {

@ReadOperation
public Map<String, String> example() {
Expand Down
Expand Up @@ -173,13 +173,21 @@ void testConfigProps() {
}

@Test
void testLegacy() {
void testLegacyDot() {
ResponseEntity<Map<String, Object>> entity = asMapEntity(
this.restTemplate.withBasicAuth("user", "password").getForEntity("/actuator/legacy", Map.class));
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(entity.getBody()).contains(entry("legacy", "legacy"));
}

@Test
void testLegacyHyphen() {
ResponseEntity<Map<String, Object>> entity = asMapEntity(
this.restTemplate.withBasicAuth("user", "password").getForEntity("/actuator/anotherlegacy", Map.class));
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(entity.getBody()).contains(entry("legacy", "legacy"));
}

@SuppressWarnings({ "unchecked", "rawtypes" })
static <K, V> ResponseEntity<Map<K, V>> asMapEntity(ResponseEntity<Map> entity) {
return (ResponseEntity) entity;
Expand Down

0 comments on commit 980ddcf

Please sign in to comment.