mirror of
https://github.com/datahub-project/datahub.git
synced 2025-08-15 20:57:15 +00:00
feat(Tests): Make DataHub Tests Feature configurable via env variable (#5020)
This commit is contained in:
parent
480fb2e770
commit
b6773e4637
@ -185,6 +185,7 @@ import com.linkedin.datahub.graphql.types.test.TestType;
|
||||
import com.linkedin.datahub.graphql.types.usage.UsageType;
|
||||
import com.linkedin.entity.client.EntityClient;
|
||||
import com.linkedin.metadata.config.IngestionConfiguration;
|
||||
import com.linkedin.metadata.config.TestsConfiguration;
|
||||
import com.linkedin.metadata.entity.EntityService;
|
||||
import com.linkedin.metadata.graph.GraphClient;
|
||||
import com.linkedin.metadata.models.registry.EntityRegistry;
|
||||
@ -250,6 +251,7 @@ public class GmsGraphQLEngine {
|
||||
private final AuthorizationConfiguration authorizationConfiguration;
|
||||
private final VisualConfiguration visualConfiguration;
|
||||
private final TelemetryConfiguration telemetryConfiguration;
|
||||
private final TestsConfiguration testsConfiguration;
|
||||
|
||||
private final DatasetType datasetType;
|
||||
private final CorpUserType corpUserType;
|
||||
@ -320,7 +322,8 @@ public class GmsGraphQLEngine {
|
||||
final TimelineService timelineService,
|
||||
final boolean supportsImpactAnalysis,
|
||||
final VisualConfiguration visualConfiguration,
|
||||
final TelemetryConfiguration telemetryConfiguration
|
||||
final TelemetryConfiguration telemetryConfiguration,
|
||||
final TestsConfiguration testsConfiguration
|
||||
) {
|
||||
|
||||
this.entityClient = entityClient;
|
||||
@ -343,6 +346,7 @@ public class GmsGraphQLEngine {
|
||||
this.authorizationConfiguration = Objects.requireNonNull(authorizationConfiguration);
|
||||
this.visualConfiguration = visualConfiguration;
|
||||
this.telemetryConfiguration = telemetryConfiguration;
|
||||
this.testsConfiguration = testsConfiguration;
|
||||
|
||||
this.datasetType = new DatasetType(entityClient);
|
||||
this.corpUserType = new CorpUserType(entityClient);
|
||||
@ -538,7 +542,11 @@ public class GmsGraphQLEngine {
|
||||
this.ingestionConfiguration,
|
||||
this.authenticationConfiguration,
|
||||
this.authorizationConfiguration,
|
||||
supportsImpactAnalysis, this.visualConfiguration, this.telemetryConfiguration))
|
||||
this.supportsImpactAnalysis,
|
||||
this.visualConfiguration,
|
||||
this.telemetryConfiguration,
|
||||
this.testsConfiguration
|
||||
))
|
||||
.dataFetcher("me", new MeResolver(this.entityClient))
|
||||
.dataFetcher("search", new SearchResolver(this.entityClient))
|
||||
.dataFetcher("searchAcrossEntities", new SearchAcrossEntitiesResolver(this.entityClient))
|
||||
|
@ -14,8 +14,10 @@ import com.linkedin.datahub.graphql.generated.PoliciesConfig;
|
||||
import com.linkedin.datahub.graphql.generated.Privilege;
|
||||
import com.linkedin.datahub.graphql.generated.ResourcePrivileges;
|
||||
import com.linkedin.datahub.graphql.generated.TelemetryConfig;
|
||||
import com.linkedin.datahub.graphql.generated.TestsConfig;
|
||||
import com.linkedin.datahub.graphql.generated.VisualConfiguration;
|
||||
import com.linkedin.metadata.config.IngestionConfiguration;
|
||||
import com.linkedin.metadata.config.TestsConfiguration;
|
||||
import com.linkedin.metadata.telemetry.TelemetryConfiguration;
|
||||
import com.linkedin.metadata.version.GitVersion;
|
||||
import graphql.schema.DataFetcher;
|
||||
@ -37,6 +39,7 @@ public class AppConfigResolver implements DataFetcher<CompletableFuture<AppConfi
|
||||
private final boolean _supportsImpactAnalysis;
|
||||
private final VisualConfiguration _visualConfiguration;
|
||||
private final TelemetryConfiguration _telemetryConfiguration;
|
||||
private final TestsConfiguration _testsConfiguration;
|
||||
|
||||
public AppConfigResolver(
|
||||
final GitVersion gitVersion,
|
||||
@ -46,7 +49,8 @@ public class AppConfigResolver implements DataFetcher<CompletableFuture<AppConfi
|
||||
final AuthorizationConfiguration authorizationConfiguration,
|
||||
final boolean supportsImpactAnalysis,
|
||||
final VisualConfiguration visualConfiguration,
|
||||
final TelemetryConfiguration telemetryConfiguration) {
|
||||
final TelemetryConfiguration telemetryConfiguration,
|
||||
final TestsConfiguration testsConfiguration) {
|
||||
_gitVersion = gitVersion;
|
||||
_isAnalyticsEnabled = isAnalyticsEnabled;
|
||||
_ingestionConfiguration = ingestionConfiguration;
|
||||
@ -55,6 +59,7 @@ public class AppConfigResolver implements DataFetcher<CompletableFuture<AppConfi
|
||||
_supportsImpactAnalysis = supportsImpactAnalysis;
|
||||
_visualConfiguration = visualConfiguration;
|
||||
_telemetryConfiguration = telemetryConfiguration;
|
||||
_testsConfiguration = testsConfiguration;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -107,6 +112,10 @@ public class AppConfigResolver implements DataFetcher<CompletableFuture<AppConfi
|
||||
telemetryConfig.setEnableThirdPartyLogging(_telemetryConfiguration.isEnableThirdPartyLogging());
|
||||
appConfig.setTelemetryConfig(telemetryConfig);
|
||||
|
||||
final TestsConfig testsConfig = new TestsConfig();
|
||||
testsConfig.setEnabled(_testsConfiguration.isEnabled());
|
||||
appConfig.setTestsConfig(testsConfig);
|
||||
|
||||
return CompletableFuture.completedFuture(appConfig);
|
||||
}
|
||||
|
||||
|
@ -127,6 +127,11 @@ type AppConfig {
|
||||
Configurations related to tracking users in the app
|
||||
"""
|
||||
telemetryConfig: TelemetryConfig!
|
||||
|
||||
"""
|
||||
Configurations related to DataHub tests
|
||||
"""
|
||||
testsConfig: TestsConfig!
|
||||
}
|
||||
|
||||
"""
|
||||
@ -265,3 +270,13 @@ type ManagedIngestionConfig {
|
||||
"""
|
||||
enabled: Boolean!
|
||||
}
|
||||
|
||||
"""
|
||||
Configurations related to DataHub Tests feature
|
||||
"""
|
||||
type TestsConfig {
|
||||
"""
|
||||
Whether Tests feature is enabled
|
||||
"""
|
||||
enabled: Boolean!
|
||||
}
|
||||
|
@ -28,6 +28,9 @@ export const DEFAULT_APP_CONFIG = {
|
||||
telemetryConfig: {
|
||||
enableThirdPartyLogging: false,
|
||||
},
|
||||
testsConfig: {
|
||||
enabled: false,
|
||||
},
|
||||
};
|
||||
|
||||
export const AppConfigContext = React.createContext<{
|
||||
|
@ -40,6 +40,9 @@ query appConfig {
|
||||
telemetryConfig {
|
||||
enableThirdPartyLogging
|
||||
}
|
||||
testsConfig {
|
||||
enabled
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,14 @@
|
||||
package com.linkedin.metadata.config;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* POJO representing the "tests" configuration block in application.yml.on.yml
|
||||
*/
|
||||
@Data
|
||||
public class TestsConfiguration {
|
||||
/**
|
||||
* Whether tests are enabled
|
||||
*/
|
||||
public boolean enabled;
|
||||
}
|
@ -3,6 +3,7 @@ package com.linkedin.gms.factory.config;
|
||||
import com.datahub.authentication.AuthenticationConfiguration;
|
||||
import com.datahub.authorization.AuthorizationConfiguration;
|
||||
import com.linkedin.metadata.config.IngestionConfiguration;
|
||||
import com.linkedin.metadata.config.TestsConfiguration;
|
||||
import com.linkedin.metadata.telemetry.TelemetryConfiguration;
|
||||
import com.linkedin.gms.factory.spring.YamlPropertySourceFactory;
|
||||
import lombok.Data;
|
||||
@ -28,9 +29,12 @@ public class ConfigurationProvider {
|
||||
* Ingestion related configs
|
||||
*/
|
||||
private IngestionConfiguration ingestion;
|
||||
|
||||
/**
|
||||
* Telemetry related configs
|
||||
*/
|
||||
private TelemetryConfiguration telemetry;
|
||||
/**
|
||||
* Tests related configs
|
||||
*/
|
||||
private TestsConfiguration metadataTests;
|
||||
}
|
@ -127,7 +127,8 @@ public class GraphQLEngineFactory {
|
||||
_timelineService,
|
||||
_graphService.supportsMultiHop(),
|
||||
_visualConfiguration,
|
||||
_configProvider.getTelemetry()
|
||||
_configProvider.getTelemetry(),
|
||||
_configProvider.getMetadataTests()
|
||||
).builder().build();
|
||||
}
|
||||
return new GmsGraphQLEngine(
|
||||
@ -148,7 +149,8 @@ public class GraphQLEngineFactory {
|
||||
_timelineService,
|
||||
_graphService.supportsMultiHop(),
|
||||
_visualConfiguration,
|
||||
_configProvider.getTelemetry()
|
||||
_configProvider.getTelemetry(),
|
||||
_configProvider.getMetadataTests()
|
||||
).builder().build();
|
||||
}
|
||||
}
|
||||
|
@ -179,3 +179,6 @@ spring:
|
||||
springdoc:
|
||||
cache:
|
||||
disabled: true
|
||||
|
||||
metadataTests:
|
||||
enabled: ${METADATA_TESTS_ENABLED:true}
|
Loading…
x
Reference in New Issue
Block a user