Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nexpie-grafana-theme
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Registry
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kornkitt Poolsup
nexpie-grafana-theme
Commits
9595f992
Unverified
Commit
9595f992
authored
Jul 10, 2018
by
David
Committed by
GitHub
Jul 10, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #12496 from dehrax/12224-prostgres-ds
Karma to Jest: 3 data sources
parents
8b32dc58
e51f208a
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
99 additions
and
119 deletions
+99
-119
public/app/plugins/datasource/cloudwatch/datasource.ts
+1
-0
public/app/plugins/datasource/cloudwatch/specs/datasource.jest.ts
+0
-0
public/app/plugins/datasource/mysql/specs/datasource.jest.ts
+48
-59
public/app/plugins/datasource/postgres/specs/datasource.jest.ts
+50
-60
No files found.
public/app/plugins/datasource/cloudwatch/datasource.ts
View file @
9595f992
...
...
@@ -404,6 +404,7 @@ export default class CloudWatchDatasource {
}
expandTemplateVariable
(
targets
,
scopedVars
,
templateSrv
)
{
// Datasource and template srv logic uber-complected. This should be cleaned up.
return
_
.
chain
(
targets
)
.
map
(
target
=>
{
var
dimensionKey
=
_
.
findKey
(
target
.
dimensions
,
v
=>
{
...
...
public/app/plugins/datasource/cloudwatch/specs/datasource
_specs
.ts
→
public/app/plugins/datasource/cloudwatch/specs/datasource
.jest
.ts
View file @
9595f992
This diff is collapsed.
Click to expand it.
public/app/plugins/datasource/mysql/specs/datasource
_specs
.ts
→
public/app/plugins/datasource/mysql/specs/datasource
.jest
.ts
View file @
9595f992
import
{
describe
,
beforeEach
,
it
,
expect
,
angularMocks
}
from
'test/lib/common'
;
import
moment
from
'moment'
;
import
helpers
from
'test/specs/helpers'
;
import
{
MysqlDatasource
}
from
'../datasource'
;
import
{
CustomVariable
}
from
'app/features/templating/custom_variable'
;
describe
(
'MySQLDatasource'
,
function
()
{
var
ctx
=
new
helpers
.
ServiceTestContext
();
var
instanceSettings
=
{
name
:
'mysql'
};
beforeEach
(
angularMocks
.
module
(
'grafana.core'
));
beforeEach
(
angularMocks
.
module
(
'grafana.services'
));
beforeEach
(
ctx
.
providePhase
([
'backendSrv'
]));
beforeEach
(
angularMocks
.
inject
(
function
(
$q
,
$rootScope
,
$httpBackend
,
$injector
)
{
ctx
.
$q
=
$q
;
ctx
.
$httpBackend
=
$httpBackend
;
ctx
.
$rootScope
=
$rootScope
;
ctx
.
ds
=
$injector
.
instantiate
(
MysqlDatasource
,
{
instanceSettings
:
instanceSettings
,
});
$httpBackend
.
when
(
'GET'
,
/
\.
html$/
).
respond
(
''
);
})
);
let
instanceSettings
=
{
name
:
'mysql'
};
let
backendSrv
=
{};
let
templateSrv
=
{
replace
:
jest
.
fn
(
text
=>
text
),
};
let
ctx
=
<
any
>
{
backendSrv
,
};
beforeEach
(()
=>
{
ctx
.
ds
=
new
MysqlDatasource
(
instanceSettings
,
backendSrv
,
{},
templateSrv
);
});
describe
(
'When performing annotationQuery'
,
function
()
{
let
results
;
...
...
@@ -59,26 +52,25 @@ describe('MySQLDatasource', function() {
};
beforeEach
(
function
()
{
ctx
.
backendSrv
.
datasourceRequest
=
function
(
options
)
{
return
ctx
.
$q
.
when
({
data
:
response
,
status
:
200
});
};
ctx
.
backendSrv
.
datasourceRequest
=
jest
.
fn
(
options
=>
{
return
Promise
.
resolve
({
data
:
response
,
status
:
200
});
}
)
;
ctx
.
ds
.
annotationQuery
(
options
).
then
(
function
(
data
)
{
results
=
data
;
});
ctx
.
$rootScope
.
$apply
();
});
it
(
'should return annotation list'
,
function
()
{
expect
(
results
.
length
).
to
.
b
e
(
3
);
expect
(
results
.
length
).
to
B
e
(
3
);
expect
(
results
[
0
].
text
).
to
.
b
e
(
'some text'
);
expect
(
results
[
0
].
tags
[
0
]).
to
.
b
e
(
'TagA'
);
expect
(
results
[
0
].
tags
[
1
]).
to
.
b
e
(
'TagB'
);
expect
(
results
[
0
].
text
).
to
B
e
(
'some text'
);
expect
(
results
[
0
].
tags
[
0
]).
to
B
e
(
'TagA'
);
expect
(
results
[
0
].
tags
[
1
]).
to
B
e
(
'TagB'
);
expect
(
results
[
1
].
tags
[
0
]).
to
.
b
e
(
'TagB'
);
expect
(
results
[
1
].
tags
[
1
]).
to
.
b
e
(
'TagC'
);
expect
(
results
[
1
].
tags
[
0
]).
to
B
e
(
'TagB'
);
expect
(
results
[
1
].
tags
[
1
]).
to
B
e
(
'TagC'
);
expect
(
results
[
2
].
tags
.
length
).
to
.
b
e
(
0
);
expect
(
results
[
2
].
tags
.
length
).
to
B
e
(
0
);
});
});
...
...
@@ -103,19 +95,18 @@ describe('MySQLDatasource', function() {
};
beforeEach
(
function
()
{
ctx
.
backendSrv
.
datasourceRequest
=
function
(
options
)
{
return
ctx
.
$q
.
when
({
data
:
response
,
status
:
200
});
};
ctx
.
backendSrv
.
datasourceRequest
=
jest
.
fn
(
options
=>
{
return
Promise
.
resolve
({
data
:
response
,
status
:
200
});
}
)
;
ctx
.
ds
.
metricFindQuery
(
query
).
then
(
function
(
data
)
{
results
=
data
;
});
ctx
.
$rootScope
.
$apply
();
});
it
(
'should return list of all column values'
,
function
()
{
expect
(
results
.
length
).
to
.
b
e
(
6
);
expect
(
results
[
0
].
text
).
to
.
b
e
(
'aTitle'
);
expect
(
results
[
5
].
text
).
to
.
b
e
(
'some text3'
);
expect
(
results
.
length
).
to
B
e
(
6
);
expect
(
results
[
0
].
text
).
to
B
e
(
'aTitle'
);
expect
(
results
[
5
].
text
).
to
B
e
(
'some text3'
);
});
});
...
...
@@ -140,21 +131,20 @@ describe('MySQLDatasource', function() {
};
beforeEach
(
function
()
{
ctx
.
backendSrv
.
datasourceRequest
=
function
(
options
)
{
return
ctx
.
$q
.
when
({
data
:
response
,
status
:
200
});
};
ctx
.
backendSrv
.
datasourceRequest
=
jest
.
fn
(
options
=>
{
return
Promise
.
resolve
({
data
:
response
,
status
:
200
});
}
)
;
ctx
.
ds
.
metricFindQuery
(
query
).
then
(
function
(
data
)
{
results
=
data
;
});
ctx
.
$rootScope
.
$apply
();
});
it
(
'should return list of as text, value'
,
function
()
{
expect
(
results
.
length
).
to
.
b
e
(
3
);
expect
(
results
[
0
].
text
).
to
.
b
e
(
'aTitle'
);
expect
(
results
[
0
].
value
).
to
.
b
e
(
'value1'
);
expect
(
results
[
2
].
text
).
to
.
b
e
(
'aTitle3'
);
expect
(
results
[
2
].
value
).
to
.
b
e
(
'value3'
);
expect
(
results
.
length
).
to
B
e
(
3
);
expect
(
results
[
0
].
text
).
to
B
e
(
'aTitle'
);
expect
(
results
[
0
].
value
).
to
B
e
(
'value1'
);
expect
(
results
[
2
].
text
).
to
B
e
(
'aTitle3'
);
expect
(
results
[
2
].
value
).
to
B
e
(
'value3'
);
});
});
...
...
@@ -179,19 +169,18 @@ describe('MySQLDatasource', function() {
};
beforeEach
(
function
()
{
ctx
.
backendSrv
.
datasourceRequest
=
function
(
options
)
{
return
ctx
.
$q
.
when
({
data
:
response
,
status
:
200
});
};
ctx
.
backendSrv
.
datasourceRequest
=
jest
.
fn
(
options
=>
{
return
Promise
.
resolve
({
data
:
response
,
status
:
200
});
}
)
;
ctx
.
ds
.
metricFindQuery
(
query
).
then
(
function
(
data
)
{
results
=
data
;
});
ctx
.
$rootScope
.
$apply
();
});
it
(
'should return list of unique keys'
,
function
()
{
expect
(
results
.
length
).
to
.
b
e
(
1
);
expect
(
results
[
0
].
text
).
to
.
b
e
(
'aTitle'
);
expect
(
results
[
0
].
value
).
to
.
b
e
(
'same'
);
expect
(
results
.
length
).
to
B
e
(
1
);
expect
(
results
[
0
].
text
).
to
B
e
(
'aTitle'
);
expect
(
results
[
0
].
value
).
to
B
e
(
'same'
);
});
});
...
...
@@ -202,33 +191,33 @@ describe('MySQLDatasource', function() {
describe
(
'and value is a string'
,
()
=>
{
it
(
'should return an unquoted value'
,
()
=>
{
expect
(
ctx
.
ds
.
interpolateVariable
(
'abc'
,
ctx
.
variable
)).
to
.
eq
l
(
'abc'
);
expect
(
ctx
.
ds
.
interpolateVariable
(
'abc'
,
ctx
.
variable
)).
to
Equa
l
(
'abc'
);
});
});
describe
(
'and value is a number'
,
()
=>
{
it
(
'should return an unquoted value'
,
()
=>
{
expect
(
ctx
.
ds
.
interpolateVariable
(
1000
,
ctx
.
variable
)).
to
.
eq
l
(
1000
);
expect
(
ctx
.
ds
.
interpolateVariable
(
1000
,
ctx
.
variable
)).
to
Equa
l
(
1000
);
});
});
describe
(
'and value is an array of strings'
,
()
=>
{
it
(
'should return comma separated quoted values'
,
()
=>
{
expect
(
ctx
.
ds
.
interpolateVariable
([
'a'
,
'b'
,
'c'
],
ctx
.
variable
)).
to
.
eq
l
(
"'a','b','c'"
);
expect
(
ctx
.
ds
.
interpolateVariable
([
'a'
,
'b'
,
'c'
],
ctx
.
variable
)).
to
Equa
l
(
"'a','b','c'"
);
});
});
describe
(
'and variable allows multi-value and value is a string'
,
()
=>
{
it
(
'should return a quoted value'
,
()
=>
{
ctx
.
variable
.
multi
=
true
;
expect
(
ctx
.
ds
.
interpolateVariable
(
'abc'
,
ctx
.
variable
)).
to
.
eq
l
(
"'abc'"
);
expect
(
ctx
.
ds
.
interpolateVariable
(
'abc'
,
ctx
.
variable
)).
to
Equa
l
(
"'abc'"
);
});
});
describe
(
'and variable allows all and value is a string'
,
()
=>
{
it
(
'should return a quoted value'
,
()
=>
{
ctx
.
variable
.
includeAll
=
true
;
expect
(
ctx
.
ds
.
interpolateVariable
(
'abc'
,
ctx
.
variable
)).
to
.
eq
l
(
"'abc'"
);
expect
(
ctx
.
ds
.
interpolateVariable
(
'abc'
,
ctx
.
variable
)).
to
Equa
l
(
"'abc'"
);
});
});
});
...
...
public/app/plugins/datasource/postgres/specs/datasource
_specs
.ts
→
public/app/plugins/datasource/postgres/specs/datasource
.jest
.ts
View file @
9595f992
import
{
describe
,
beforeEach
,
it
,
expect
,
angularMocks
}
from
'test/lib/common'
;
import
moment
from
'moment'
;
import
helpers
from
'test/specs/helpers'
;
import
{
PostgresDatasource
}
from
'../datasource'
;
import
{
CustomVariable
}
from
'app/features/templating/custom_variable'
;
describe
(
'PostgreSQLDatasource'
,
function
()
{
var
ctx
=
new
helpers
.
ServiceTestContext
();
var
instanceSettings
=
{
name
:
'postgresql'
};
beforeEach
(
angularMocks
.
module
(
'grafana.core'
));
beforeEach
(
angularMocks
.
module
(
'grafana.services'
));
beforeEach
(
ctx
.
providePhase
([
'backendSrv'
]));
beforeEach
(
angularMocks
.
inject
(
function
(
$q
,
$rootScope
,
$httpBackend
,
$injector
)
{
ctx
.
$q
=
$q
;
ctx
.
$httpBackend
=
$httpBackend
;
ctx
.
$rootScope
=
$rootScope
;
ctx
.
ds
=
$injector
.
instantiate
(
PostgresDatasource
,
{
instanceSettings
:
instanceSettings
,
});
$httpBackend
.
when
(
'GET'
,
/
\.
html$/
).
respond
(
''
);
})
);
let
instanceSettings
=
{
name
:
'postgresql'
};
let
backendSrv
=
{};
let
templateSrv
=
{
replace
:
jest
.
fn
(
text
=>
text
),
};
let
ctx
=
<
any
>
{
backendSrv
,
};
beforeEach
(()
=>
{
ctx
.
ds
=
new
PostgresDatasource
(
instanceSettings
,
backendSrv
,
{},
templateSrv
);
});
describe
(
'When performing annotationQuery'
,
function
()
{
let
results
;
...
...
@@ -59,26 +52,25 @@ describe('PostgreSQLDatasource', function() {
};
beforeEach
(
function
()
{
ctx
.
backendSrv
.
datasourceRequest
=
function
(
options
)
{
return
ctx
.
$q
.
when
({
data
:
response
,
status
:
200
});
};
ctx
.
backendSrv
.
datasourceRequest
=
jest
.
fn
(
options
=>
{
return
Promise
.
resolve
({
data
:
response
,
status
:
200
});
}
)
;
ctx
.
ds
.
annotationQuery
(
options
).
then
(
function
(
data
)
{
results
=
data
;
});
ctx
.
$rootScope
.
$apply
();
});
it
(
'should return annotation list'
,
function
()
{
expect
(
results
.
length
).
to
.
b
e
(
3
);
expect
(
results
.
length
).
to
B
e
(
3
);
expect
(
results
[
0
].
text
).
to
.
b
e
(
'some text'
);
expect
(
results
[
0
].
tags
[
0
]).
to
.
b
e
(
'TagA'
);
expect
(
results
[
0
].
tags
[
1
]).
to
.
b
e
(
'TagB'
);
expect
(
results
[
0
].
text
).
to
B
e
(
'some text'
);
expect
(
results
[
0
].
tags
[
0
]).
to
B
e
(
'TagA'
);
expect
(
results
[
0
].
tags
[
1
]).
to
B
e
(
'TagB'
);
expect
(
results
[
1
].
tags
[
0
]).
to
.
b
e
(
'TagB'
);
expect
(
results
[
1
].
tags
[
1
]).
to
.
b
e
(
'TagC'
);
expect
(
results
[
1
].
tags
[
0
]).
to
B
e
(
'TagB'
);
expect
(
results
[
1
].
tags
[
1
]).
to
B
e
(
'TagC'
);
expect
(
results
[
2
].
tags
.
length
).
to
.
b
e
(
0
);
expect
(
results
[
2
].
tags
.
length
).
to
B
e
(
0
);
});
});
...
...
@@ -103,19 +95,18 @@ describe('PostgreSQLDatasource', function() {
};
beforeEach
(
function
()
{
ctx
.
backendSrv
.
datasourceRequest
=
function
(
options
)
{
return
ctx
.
$q
.
when
({
data
:
response
,
status
:
200
});
};
ctx
.
backendSrv
.
datasourceRequest
=
jest
.
fn
(
options
=>
{
return
Promise
.
resolve
({
data
:
response
,
status
:
200
});
}
)
;
ctx
.
ds
.
metricFindQuery
(
query
).
then
(
function
(
data
)
{
results
=
data
;
});
ctx
.
$rootScope
.
$apply
();
});
it
(
'should return list of all column values'
,
function
()
{
expect
(
results
.
length
).
to
.
b
e
(
6
);
expect
(
results
[
0
].
text
).
to
.
b
e
(
'aTitle'
);
expect
(
results
[
5
].
text
).
to
.
b
e
(
'some text3'
);
expect
(
results
.
length
).
to
B
e
(
6
);
expect
(
results
[
0
].
text
).
to
B
e
(
'aTitle'
);
expect
(
results
[
5
].
text
).
to
B
e
(
'some text3'
);
});
});
...
...
@@ -140,21 +131,20 @@ describe('PostgreSQLDatasource', function() {
};
beforeEach
(
function
()
{
ctx
.
backendSrv
.
datasourceRequest
=
function
(
options
)
{
return
ctx
.
$q
.
when
({
data
:
response
,
status
:
200
});
};
ctx
.
backendSrv
.
datasourceRequest
=
jest
.
fn
(
options
=>
{
return
Promise
.
resolve
({
data
:
response
,
status
:
200
});
}
)
;
ctx
.
ds
.
metricFindQuery
(
query
).
then
(
function
(
data
)
{
results
=
data
;
});
ctx
.
$rootScope
.
$apply
();
});
it
(
'should return list of as text, value'
,
function
()
{
expect
(
results
.
length
).
to
.
b
e
(
3
);
expect
(
results
[
0
].
text
).
to
.
b
e
(
'aTitle'
);
expect
(
results
[
0
].
value
).
to
.
b
e
(
'value1'
);
expect
(
results
[
2
].
text
).
to
.
b
e
(
'aTitle3'
);
expect
(
results
[
2
].
value
).
to
.
b
e
(
'value3'
);
expect
(
results
.
length
).
to
B
e
(
3
);
expect
(
results
[
0
].
text
).
to
B
e
(
'aTitle'
);
expect
(
results
[
0
].
value
).
to
B
e
(
'value1'
);
expect
(
results
[
2
].
text
).
to
B
e
(
'aTitle3'
);
expect
(
results
[
2
].
value
).
to
B
e
(
'value3'
);
});
});
...
...
@@ -178,20 +168,20 @@ describe('PostgreSQLDatasource', function() {
},
};
beforeEach
(
function
()
{
ctx
.
backendSrv
.
datasourceRequest
=
function
(
options
)
{
return
ctx
.
$q
.
when
({
data
:
response
,
status
:
200
});
};
beforeEach
(
()
=>
{
ctx
.
backendSrv
.
datasourceRequest
=
jest
.
fn
(
options
=>
{
return
Promise
.
resolve
({
data
:
response
,
status
:
200
});
}
)
;
ctx
.
ds
.
metricFindQuery
(
query
).
then
(
function
(
data
)
{
results
=
data
;
});
ctx
.
$rootScope
.
$apply
();
//
ctx.$rootScope.$apply();
});
it
(
'should return list of unique keys'
,
function
()
{
expect
(
results
.
length
).
to
.
b
e
(
1
);
expect
(
results
[
0
].
text
).
to
.
b
e
(
'aTitle'
);
expect
(
results
[
0
].
value
).
to
.
b
e
(
'same'
);
expect
(
results
.
length
).
to
B
e
(
1
);
expect
(
results
[
0
].
text
).
to
B
e
(
'aTitle'
);
expect
(
results
[
0
].
value
).
to
B
e
(
'same'
);
});
});
...
...
@@ -202,33 +192,33 @@ describe('PostgreSQLDatasource', function() {
describe
(
'and value is a string'
,
()
=>
{
it
(
'should return an unquoted value'
,
()
=>
{
expect
(
ctx
.
ds
.
interpolateVariable
(
'abc'
,
ctx
.
variable
)).
to
.
eq
l
(
'abc'
);
expect
(
ctx
.
ds
.
interpolateVariable
(
'abc'
,
ctx
.
variable
)).
to
Equa
l
(
'abc'
);
});
});
describe
(
'and value is a number'
,
()
=>
{
it
(
'should return an unquoted value'
,
()
=>
{
expect
(
ctx
.
ds
.
interpolateVariable
(
1000
,
ctx
.
variable
)).
to
.
eq
l
(
1000
);
expect
(
ctx
.
ds
.
interpolateVariable
(
1000
,
ctx
.
variable
)).
to
Equa
l
(
1000
);
});
});
describe
(
'and value is an array of strings'
,
()
=>
{
it
(
'should return comma separated quoted values'
,
()
=>
{
expect
(
ctx
.
ds
.
interpolateVariable
([
'a'
,
'b'
,
'c'
],
ctx
.
variable
)).
to
.
eq
l
(
"'a','b','c'"
);
expect
(
ctx
.
ds
.
interpolateVariable
([
'a'
,
'b'
,
'c'
],
ctx
.
variable
)).
to
Equa
l
(
"'a','b','c'"
);
});
});
describe
(
'and variable allows multi-value and is a string'
,
()
=>
{
it
(
'should return a quoted value'
,
()
=>
{
ctx
.
variable
.
multi
=
true
;
expect
(
ctx
.
ds
.
interpolateVariable
(
'abc'
,
ctx
.
variable
)).
to
.
eq
l
(
"'abc'"
);
expect
(
ctx
.
ds
.
interpolateVariable
(
'abc'
,
ctx
.
variable
)).
to
Equa
l
(
"'abc'"
);
});
});
describe
(
'and variable allows all and is a string'
,
()
=>
{
it
(
'should return a quoted value'
,
()
=>
{
ctx
.
variable
.
includeAll
=
true
;
expect
(
ctx
.
ds
.
interpolateVariable
(
'abc'
,
ctx
.
variable
)).
to
.
eq
l
(
"'abc'"
);
expect
(
ctx
.
ds
.
interpolateVariable
(
'abc'
,
ctx
.
variable
)).
to
Equa
l
(
"'abc'"
);
});
});
});
...
...
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