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
d4bd5213
Commit
d4bd5213
authored
Jul 03, 2018
by
Tobias Skarhed
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Karma to Jest: MySQL datasource
parent
3bbe39c5
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
45 additions
and
59 deletions
+45
-59
public/app/plugins/datasource/mysql/specs/datasource.jest.ts
+45
-59
No files found.
public/app/plugins/datasource/mysql/specs/datasource
_specs
.ts
→
public/app/plugins/datasource/mysql/specs/datasource
.jest
.ts
View file @
d4bd5213
import
{
describe
,
beforeEach
,
it
,
expect
,
angularMocks
}
from
'test/lib/common'
;
//
import { describe, beforeEach, it, expect, angularMocks } from 'test/lib/common';
import
moment
from
'moment'
;
import
helpers
from
'test/specs/helpers'
;
import
{
TemplateSrvStub
}
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
=
new
TemplateSrvStub
();
let
ctx
=
<
any
>
{
ds
:
new
MysqlDatasource
(
instanceSettings
,
backendSrv
,
{},
templateSrv
),
backendSrv
};
describe
(
'When performing annotationQuery'
,
function
()
{
let
results
;
...
...
@@ -59,26 +49,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 +92,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 +128,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 +166,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 +188,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'"
);
});
});
});
...
...
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