Skip to content

Commit

Permalink
Fixed more tests
Browse files Browse the repository at this point in the history
  • Loading branch information
igoristic committed Apr 23, 2020
1 parent 15578d7 commit 2ff87d6
Show file tree
Hide file tree
Showing 11 changed files with 190 additions and 45 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@
/x-pack/legacy/plugins/ingest_manager/ @elastic/ingest-management
/x-pack/plugins/observability/ @elastic/logs-metrics-ui @elastic/apm-ui @elastic/uptime @elastic/ingest-management
/x-pack/legacy/plugins/monitoring/ @elastic/stack-monitoring-ui
/x-pack/plugins/monitoring/ @elastic/stack-monitoring-ui
/x-pack/legacy/plugins/uptime @elastic/uptime
/x-pack/plugins/uptime @elastic/uptime

Expand Down
12 changes: 6 additions & 6 deletions src/dev/precommit_hook/casing_check_config.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ export const IGNORE_FILE_GLOBS = [
'x-pack/legacy/plugins/apm/**/*',
'x-pack/legacy/plugins/canvas/tasks/**/*',
'x-pack/legacy/plugins/canvas/canvas_plugin_src/**/*',
'x-pack/plugins/monitoring/public/lib/jquery_flot/**/*',
'**/.*',
'**/{webpackShims,__mocks__}/**/*',
'x-pack/docs/**/*',
Expand Down Expand Up @@ -163,12 +164,11 @@ export const TEMPORARILY_IGNORED_PATHS = [
'x-pack/legacy/plugins/graph/public/angular-venn-simple.js',
'x-pack/legacy/plugins/index_management/public/lib/editSettings.js',
'x-pack/legacy/plugins/license_management/public/store/reducers/licenseManagement.js',
'x-pack/legacy/plugins/monitoring/public/components/sparkline/__mocks__/plugins/xpack_main/jquery_flot.js',
'x-pack/legacy/plugins/monitoring/public/icons/alert-blue.svg',
'x-pack/legacy/plugins/monitoring/public/icons/health-gray.svg',
'x-pack/legacy/plugins/monitoring/public/icons/health-green.svg',
'x-pack/legacy/plugins/monitoring/public/icons/health-red.svg',
'x-pack/legacy/plugins/monitoring/public/icons/health-yellow.svg',
'x-pack/plugins/monitoring/public/components/sparkline/__mocks__/plugins/xpack_main/jquery_flot.js',
'x-pack/plugins/monitoring/public/icons/health-gray.svg',
'x-pack/plugins/monitoring/public/icons/health-green.svg',
'x-pack/plugins/monitoring/public/icons/health-red.svg',
'x-pack/plugins/monitoring/public/icons/health-yellow.svg',
'x-pack/legacy/plugins/reporting/export_types/printable_pdf/server/lib/pdf/assets/fonts/noto/NotoSansCJKtc-Medium.ttf',
'x-pack/legacy/plugins/reporting/export_types/printable_pdf/server/lib/pdf/assets/fonts/noto/NotoSansCJKtc-Regular.ttf',
'x-pack/legacy/plugins/reporting/export_types/printable_pdf/server/lib/pdf/assets/fonts/roboto/Roboto-Italic.ttf',
Expand Down
147 changes: 147 additions & 0 deletions x-pack/legacy/plugins/monitoring/config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/

/**
* User-configurable settings for xpack.monitoring via configuration schema
* @param {Object} Joi - HapiJS Joi module that allows for schema validation
* @return {Object} config schema
*/
export const config = (Joi: any) => {
const DEFAULT_REQUEST_HEADERS = ['authorization'];

return Joi.object({
enabled: Joi.boolean().default(true),
ui: Joi.object({
enabled: Joi.boolean().default(true),
logs: Joi.object({
index: Joi.string().default('filebeat-*'),
}).default(),
ccs: Joi.object({
enabled: Joi.boolean().default(true),
}).default(),
container: Joi.object({
elasticsearch: Joi.object({
enabled: Joi.boolean().default(false),
}).default(),
logstash: Joi.object({
enabled: Joi.boolean().default(false),
}).default(),
}).default(),
max_bucket_size: Joi.number().default(10000),
min_interval_seconds: Joi.number().default(10),
show_license_expiration: Joi.boolean().default(true),
elasticsearch: Joi.object({
customHeaders: Joi.object().default({}),
logQueries: Joi.boolean().default(false),
requestHeadersWhitelist: Joi.array()
.items()
.single()
.default(DEFAULT_REQUEST_HEADERS),
sniffOnStart: Joi.boolean().default(false),
sniffInterval: Joi.number()
.allow(false)
.default(false),
sniffOnConnectionFault: Joi.boolean().default(false),
hosts: Joi.array()
.items(Joi.string().uri({ scheme: ['http', 'https'] }))
.single(), // if empty, use Kibana's connection config
username: Joi.string(),
password: Joi.string(),
requestTimeout: Joi.number().default(30000),
pingTimeout: Joi.number().default(30000),
ssl: Joi.object({
verificationMode: Joi.string()
.valid('none', 'certificate', 'full')
.default('full'),
certificateAuthorities: Joi.array()
.single()
.items(Joi.string()),
certificate: Joi.string(),
key: Joi.string(),
keyPassphrase: Joi.string(),
keystore: Joi.object({
path: Joi.string(),
password: Joi.string(),
}).default(),
truststore: Joi.object({
path: Joi.string(),
password: Joi.string(),
}).default(),
alwaysPresentCertificate: Joi.boolean().default(false),
}).default(),
apiVersion: Joi.string().default('master'),
logFetchCount: Joi.number().default(10),
}).default(),
}).default(),
kibana: Joi.object({
collection: Joi.object({
enabled: Joi.boolean().default(true),
interval: Joi.number().default(10000), // op status metrics get buffered at `ops.interval` and flushed to the bulk endpoint at this interval
}).default(),
}).default(),
elasticsearch: Joi.object({
customHeaders: Joi.object().default({}),
logQueries: Joi.boolean().default(false),
requestHeadersWhitelist: Joi.array()
.items()
.single()
.default(DEFAULT_REQUEST_HEADERS),
sniffOnStart: Joi.boolean().default(false),
sniffInterval: Joi.number()
.allow(false)
.default(false),
sniffOnConnectionFault: Joi.boolean().default(false),
hosts: Joi.array()
.items(Joi.string().uri({ scheme: ['http', 'https'] }))
.single(), // if empty, use Kibana's connection config
username: Joi.string(),
password: Joi.string(),
requestTimeout: Joi.number().default(30000),
pingTimeout: Joi.number().default(30000),
ssl: Joi.object({
verificationMode: Joi.string()
.valid('none', 'certificate', 'full')
.default('full'),
certificateAuthorities: Joi.array()
.single()
.items(Joi.string()),
certificate: Joi.string(),
key: Joi.string(),
keyPassphrase: Joi.string(),
keystore: Joi.object({
path: Joi.string(),
password: Joi.string(),
}).default(),
truststore: Joi.object({
path: Joi.string(),
password: Joi.string(),
}).default(),
alwaysPresentCertificate: Joi.boolean().default(false),
}).default(),
apiVersion: Joi.string().default('master'),
}).default(),
cluster_alerts: Joi.object({
enabled: Joi.boolean().default(true),
email_notifications: Joi.object({
enabled: Joi.boolean().default(true),
email_address: Joi.string().email(),
}).default(),
}).default(),
licensing: Joi.object({
api_polling_frequency: Joi.number().default(30001),
}),
agent: Joi.object({
interval: Joi.string()
.regex(/[\d\.]+[yMwdhms]/)
.default('10s'),
}).default(),
tests: Joi.object({
cloud_detector: Joi.object({
enabled: Joi.boolean().default(true),
}).default(),
}).default(),
}).default();
};
2 changes: 2 additions & 0 deletions x-pack/legacy/plugins/monitoring/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
*/

import Hapi from 'hapi';
import { config } from './config';
import { KIBANA_ALERTING_ENABLED } from '../../../plugins/monitoring/common/constants';

/**
Expand Down Expand Up @@ -35,5 +36,6 @@ export const monitoring = (kibana: any) => {
});
}
},
config,
});
};
8 changes: 1 addition & 7 deletions x-pack/plugins/monitoring/public/angular/providers/url.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
*/

import _ from 'lodash';
import { i18n } from '@kbn/i18n';

export function KbnUrlProvider($injector, $location, $rootScope, $parse) {
/**
Expand Down Expand Up @@ -95,12 +94,7 @@ export function KbnUrlProvider($injector, $location, $rootScope, $parse) {

// if evaluation can't be made, throw
if (_.isUndefined(p)) {
throw new Error(
i18n.translate('common.ui.url.replacementFailedErrorMessage', {
defaultMessage: 'Replacement failed, unresolved expression: {expr}',
values: { expr },
})
);
throw new Error(`Replacement failed, unresolved expression: ${expr}`);
}

return encodeURIComponent($parse(expr)(paramObj));
Expand Down
16 changes: 8 additions & 8 deletions x-pack/plugins/monitoring/public/components/license/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,20 +31,20 @@ export const AddLicense = ({ uploadPath }) => {
<EuiCard
title={
<FormattedMessage
id="xpack.licenseMgmt.licenseDashboard.addLicense.updateLicenseTitle"
id="xpack.monitoring.updateLicenseTitle"
defaultMessage="Update your license"
/>
}
description={
<FormattedMessage
id="xpack.licenseMgmt.licenseDashboard.addLicense.useAvailableLicenseDescription"
id="xpack.monitoring.useAvailableLicenseDescription"
defaultMessage="If you already have a new license, upload it now."
/>
}
footer={
<EuiButton data-test-subj="updateLicenseButton" href={uploadPath}>
<FormattedMessage
id="xpack.licenseMgmt.licenseDashboard.addLicense.updateLicenseButtonLabel"
id="xpack.monitoring.updateLicenseButtonLabel"
defaultMessage="Update license"
/>
</EuiButton>
Expand All @@ -65,7 +65,7 @@ export class LicenseStatus extends React.PureComponent {
message = (
<Fragment>
<FormattedMessage
id="xpack.licenseMgmt.licenseDashboard.licenseStatus.expiredLicenseStatusDescription"
id="xpack.monitoring.expiredLicenseStatusDescription"
defaultMessage="Your license expired on {expiryDate}"
values={{
expiryDate: <strong>{expiryDate}</strong>,
Expand All @@ -75,7 +75,7 @@ export class LicenseStatus extends React.PureComponent {
);
title = (
<FormattedMessage
id="xpack.licenseMgmt.licenseDashboard.licenseStatus.expiredLicenseStatusTitle"
id="xpack.monitoring.expiredLicenseStatusTitle"
defaultMessage="Your {typeTitleCase} license has expired"
values={{
typeTitleCase,
Expand All @@ -87,7 +87,7 @@ export class LicenseStatus extends React.PureComponent {
message = expiryDate ? (
<Fragment>
<FormattedMessage
id="xpack.licenseMgmt.licenseDashboard.licenseStatus.activeLicenseStatusDescription"
id="xpack.monitoring.activeLicenseStatusDescription"
defaultMessage="Your license will expire on {expiryDate}"
values={{
expiryDate: <strong>{expiryDate}</strong>,
Expand All @@ -97,14 +97,14 @@ export class LicenseStatus extends React.PureComponent {
) : (
<Fragment>
<FormattedMessage
id="xpack.licenseMgmt.licenseDashboard.licenseStatus.permanentActiveLicenseStatusDescription"
id="xpack.monitoring.permanentActiveLicenseStatusDescription"
defaultMessage="Your license will never expire."
/>
</Fragment>
);
title = (
<FormattedMessage
id="xpack.licenseMgmt.licenseDashboard.licenseStatus.activeLicenseStatusTitle"
id="xpack.monitoring.activeLicenseStatusTitle"
defaultMessage="Your {typeTitleCase} license is {status}"
values={{
typeTitleCase,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ import { i18n } from '@kbn/i18n';

if (attempts >= REDRAW_ATTEMPTS) {
clear();
const errorMessage = i18n.translate('common.ui.flotCharts.pie.unableToDrawLabelsInsideCanvasErrorMessage', {
const errorMessage = i18n.translate('xpack.monitoring.pie.unableToDrawLabelsInsideCanvasErrorMessage', {
defaultMessage: 'Could not draw pie with labels contained inside canvas',
});
target.prepend(`<div class='error'>${errorMessage}</div>`);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,47 +49,47 @@ import { i18n } from '@kbn/i18n';

if (monthNames == null) {
monthNames = [
i18n.translate('common.ui.flotCharts.janLabel', {
i18n.translate('xpack.monitoring.janLabel', {
defaultMessage: 'Jan',
}), i18n.translate('common.ui.flotCharts.febLabel', {
}), i18n.translate('xpack.monitoring.febLabel', {
defaultMessage: 'Feb',
}), i18n.translate('common.ui.flotCharts.marLabel', {
}), i18n.translate('xpack.monitoring.marLabel', {
defaultMessage: 'Mar',
}), i18n.translate('common.ui.flotCharts.aprLabel', {
}), i18n.translate('xpack.monitoring.aprLabel', {
defaultMessage: 'Apr',
}), i18n.translate('common.ui.flotCharts.mayLabel', {
}), i18n.translate('xpack.monitoring.mayLabel', {
defaultMessage: 'May',
}), i18n.translate('common.ui.flotCharts.junLabel', {
}), i18n.translate('xpack.monitoring.junLabel', {
defaultMessage: 'Jun',
}), i18n.translate('common.ui.flotCharts.julLabel', {
}), i18n.translate('xpack.monitoring.julLabel', {
defaultMessage: 'Jul',
}), i18n.translate('common.ui.flotCharts.augLabel', {
}), i18n.translate('xpack.monitoring.augLabel', {
defaultMessage: 'Aug',
}), i18n.translate('common.ui.flotCharts.sepLabel', {
}), i18n.translate('xpack.monitoring.sepLabel', {
defaultMessage: 'Sep',
}), i18n.translate('common.ui.flotCharts.octLabel', {
}), i18n.translate('xpack.monitoring.octLabel', {
defaultMessage: 'Oct',
}), i18n.translate('common.ui.flotCharts.novLabel', {
}), i18n.translate('xpack.monitoring.novLabel', {
defaultMessage: 'Nov',
}), i18n.translate('common.ui.flotCharts.decLabel', {
}), i18n.translate('xpack.monitoring.decLabel', {
defaultMessage: 'Dec',
})];
}

if (dayNames == null) {
dayNames = [i18n.translate('common.ui.flotCharts.sunLabel', {
dayNames = [i18n.translate('xpack.monitoring.sunLabel', {
defaultMessage: 'Sun',
}), i18n.translate('common.ui.flotCharts.monLabel', {
}), i18n.translate('xpack.monitoring.monLabel', {
defaultMessage: 'Mon',
}), i18n.translate('common.ui.flotCharts.tueLabel', {
}), i18n.translate('xpack.monitoring.tueLabel', {
defaultMessage: 'Tue',
}), i18n.translate('common.ui.flotCharts.wedLabel', {
}), i18n.translate('xpack.monitoring.wedLabel', {
defaultMessage: 'Wed',
}), i18n.translate('common.ui.flotCharts.thuLabel', {
}), i18n.translate('xpack.monitoring.thuLabel', {
defaultMessage: 'Thu',
}), i18n.translate('common.ui.flotCharts.friLabel', {
}), i18n.translate('xpack.monitoring.friLabel', {
defaultMessage: 'Fri',
}), i18n.translate('common.ui.flotCharts.satLabel', {
}), i18n.translate('xpack.monitoring.satLabel', {
defaultMessage: 'Sat',
})];
}
Expand Down
5 changes: 5 additions & 0 deletions x-pack/plugins/monitoring/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@ export class MonitoringPlugin
const title = i18n.translate('xpack.monitoring.stackMonitoringTitle', {
defaultMessage: 'Stack Monitoring',
});
const monitoring = this.initializerContext.config.get();

if (!monitoring.ui.enabled || !monitoring.enabled) {
return;
}

if (home) {
home.featureCatalogue.register({
Expand Down
2 changes: 0 additions & 2 deletions x-pack/plugins/translations/translations/ja-JP.json
Original file line number Diff line number Diff line change
Expand Up @@ -12026,7 +12026,6 @@
"xpack.monitoring.metrics.logstashInstance.systemLoad.last5MinutesDescription": "過去 5 分間の平均負荷です。",
"xpack.monitoring.metrics.logstashInstance.systemLoad.last5MinutesLabel": "5m",
"xpack.monitoring.monitoringDescription": "Elastic Stack のリアルタイムのヘルスとパフォーマンスをトラッキングします。",
"xpack.monitoring.monitoringTitle": "Monitoring",
"xpack.monitoring.noData.blurbs.changesNeededDescription": "監視を実行するには、次の手順に従います",
"xpack.monitoring.noData.blurbs.changesNeededTitle": "調整が必要です",
"xpack.monitoring.noData.blurbs.cloudDeploymentDescription": "次の場所に戻ってください: ",
Expand Down Expand Up @@ -12106,7 +12105,6 @@
"xpack.monitoring.summaryStatus.statusDescription": "ステータス",
"xpack.monitoring.summaryStatus.statusIconLabel": "ステータス: {status}",
"xpack.monitoring.summaryStatus.statusIconTitle": "ステータス: {statusIcon}",
"xpack.monitoring.uiExportsDescription": "Elastic Stack の監視です",
"xpack.painlessLab.apiReferenceButtonLabel": "API リファレンス",
"xpack.painlessLab.context.defaultLabel": "スクリプト結果は文字列に変換されます",
"xpack.painlessLab.context.filterLabel": "フィルターのスクリプトクエリのコンテキストを使用する",
Expand Down
Loading

0 comments on commit 2ff87d6

Please sign in to comment.