Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
duniter
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Monitor
Service Desk
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
nodes
typescript
duniter
Commits
7dcf866a
Commit
7dcf866a
authored
7 years ago
by
Cédric Moreau
Browse files
Options
Downloads
Patches
Plain Diff
[fix]
#1080
WebSocket: peer document must have version as a Number
parent
a8bbca73
No related branches found
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
app/lib/dto/PeerDTO.ts
+2
-2
2 additions, 2 deletions
app/lib/dto/PeerDTO.ts
test/integration/http_api.js
+71
-12
71 additions, 12 deletions
test/integration/http_api.js
with
73 additions
and
14 deletions
app/lib/dto/PeerDTO.ts
+
2
−
2
View file @
7dcf866a
import
{
DBPeer
}
from
"
../dal/sqliteDAL/PeerDAL
"
import
{
DBPeer
}
from
"
../dal/sqliteDAL/PeerDAL
"
import
{
hashf
}
from
"
../common
"
import
{
hashf
}
from
"
../common
"
import
{
CommonConstants
}
from
"
../common-libs/constants
"
import
{
CommonConstants
}
from
"
../common-libs/constants
"
import
{
Cloneable
}
from
"
./Cloneable
"
;
import
{
Cloneable
}
from
"
./Cloneable
"
export
class
PeerDTO
implements
Cloneable
{
export
class
PeerDTO
implements
Cloneable
{
...
@@ -174,7 +174,7 @@ export class PeerDTO implements Cloneable {
...
@@ -174,7 +174,7 @@ export class PeerDTO implements Cloneable {
static
fromJSONObject
(
obj
:
any
)
{
static
fromJSONObject
(
obj
:
any
)
{
return
new
PeerDTO
(
return
new
PeerDTO
(
obj
.
version
,
parseInt
(
obj
.
version
)
,
obj
.
currency
||
""
,
obj
.
currency
||
""
,
obj
.
pubkey
||
obj
.
pub
||
obj
.
issuer
||
""
,
obj
.
pubkey
||
obj
.
pub
||
obj
.
issuer
||
""
,
obj
.
blockstamp
||
obj
.
block
,
obj
.
blockstamp
||
obj
.
block
,
...
...
This diff is collapsed.
Click to expand it.
test/integration/http_api.js
+
71
−
12
View file @
7dcf866a
...
@@ -6,6 +6,7 @@ const should = require('should');
...
@@ -6,6 +6,7 @@ const should = require('should');
const
assert
=
require
(
'
assert
'
);
const
assert
=
require
(
'
assert
'
);
const
duniter
=
require
(
'
../../index
'
);
const
duniter
=
require
(
'
../../index
'
);
const
bma
=
require
(
'
../../app/modules/bma
'
).
BmaDependency
.
duniter
.
methods
.
bma
;
const
bma
=
require
(
'
../../app/modules/bma
'
).
BmaDependency
.
duniter
.
methods
.
bma
;
const
PeerDTO
=
require
(
'
../../app/lib/dto/PeerDTO
'
).
PeerDTO
const
user
=
require
(
'
./tools/user
'
);
const
user
=
require
(
'
./tools/user
'
);
const
http
=
require
(
'
./tools/http
'
);
const
http
=
require
(
'
./tools/http
'
);
const
shutDownEngine
=
require
(
'
./tools/shutDownEngine
'
);
const
shutDownEngine
=
require
(
'
./tools/shutDownEngine
'
);
...
@@ -14,7 +15,7 @@ const ws = require('ws');
...
@@ -14,7 +15,7 @@ const ws = require('ws');
require
(
'
../../app/modules/prover/lib/constants
'
).
Constants
.
CORES_MAXIMUM_USE_IN_PARALLEL
=
1
require
(
'
../../app/modules/prover/lib/constants
'
).
Constants
.
CORES_MAXIMUM_USE_IN_PARALLEL
=
1
let
server
,
cat
,
toc
let
server
,
server2
,
cat
,
toc
describe
(
"
HTTP API
"
,
function
()
{
describe
(
"
HTTP API
"
,
function
()
{
...
@@ -43,6 +44,26 @@ describe("HTTP API", function() {
...
@@ -43,6 +44,26 @@ describe("HTTP API", function() {
}
}
});
});
server2
=
duniter
(
'
/bb12
'
,
true
,
{
ipv4
:
'
127.0.0.1
'
,
port
:
'
7778
'
,
currency
:
'
bb
'
,
httpLogs
:
true
,
sigQty
:
1
,
dt
:
240
,
dtReeval
:
240
,
udTime0
:
now
,
medianTimeBlocks
:
1
,
udReevalTime0
:
now
+
20000000
,
pair
:
{
pub
:
'
DKpQPUL4ckzXYdnDRvCRKAm1gNvSdmAXnTrJZ7LvM5Qo
'
,
sec
:
'
64EYRvdPpTfLGGmaX5nijLXRqWXaVz8r1Z1GtaahXwVSJGQRn7tqkxLb288zwSYzELMEG5ZhXSBYSxsTsz1m9y8F
'
}
});
cat
=
user
(
'
cat
'
,
{
pub
:
'
HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
'
,
sec
:
'
51w4fEShBk1jCMauWu4mLpmDVfHksKmWcygpxriqCEZizbtERA6de4STKRkQBpxmMUwsKXRjSzuQ8ECwmqN1u2DP
'
},
{
server
:
server
});
cat
=
user
(
'
cat
'
,
{
pub
:
'
HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
'
,
sec
:
'
51w4fEShBk1jCMauWu4mLpmDVfHksKmWcygpxriqCEZizbtERA6de4STKRkQBpxmMUwsKXRjSzuQ8ECwmqN1u2DP
'
},
{
server
:
server
});
toc
=
user
(
'
toc
'
,
{
pub
:
'
DKpQPUL4ckzXYdnDRvCRKAm1gNvSdmAXnTrJZ7LvM5Qo
'
,
sec
:
'
64EYRvdPpTfLGGmaX5nijLXRqWXaVz8r1Z1GtaahXwVSJGQRn7tqkxLb288zwSYzELMEG5ZhXSBYSxsTsz1m9y8F
'
},
{
server
:
server
});
toc
=
user
(
'
toc
'
,
{
pub
:
'
DKpQPUL4ckzXYdnDRvCRKAm1gNvSdmAXnTrJZ7LvM5Qo
'
,
sec
:
'
64EYRvdPpTfLGGmaX5nijLXRqWXaVz8r1Z1GtaahXwVSJGQRn7tqkxLb288zwSYzELMEG5ZhXSBYSxsTsz1m9y8F
'
},
{
server
:
server
});
...
@@ -51,17 +72,27 @@ describe("HTTP API", function() {
...
@@ -51,17 +72,27 @@ describe("HTTP API", function() {
let
s
=
yield
server
.
initWithDAL
();
let
s
=
yield
server
.
initWithDAL
();
let
bmapi
=
yield
bma
(
s
);
let
bmapi
=
yield
bma
(
s
);
yield
bmapi
.
openConnections
();
yield
bmapi
.
openConnections
();
let
s2
=
yield
server2
.
initWithDAL
();
let
bmapi2
=
yield
bma
(
s2
);
yield
bmapi2
.
openConnections
();
yield
cat
.
createIdentity
();
yield
cat
.
createIdentity
();
yield
toc
.
createIdentity
();
yield
toc
.
createIdentity
();
yield
toc
.
cert
(
cat
);
yield
toc
.
cert
(
cat
);
yield
cat
.
cert
(
toc
);
yield
cat
.
cert
(
toc
);
yield
cat
.
join
();
yield
cat
.
join
();
yield
toc
.
join
();
yield
toc
.
join
();
yield
commit
({
time
:
now
});
const
b0
=
yield
commit
({
time
:
now
});
yield
commit
({
time
:
now
+
120
});
const
b1
=
yield
commit
({
time
:
now
+
120
});
yield
commit
({
time
:
now
+
120
*
2
});
yield
server2
.
writeBlock
(
b0
)
yield
commit
({
time
:
now
+
120
*
3
});
yield
server2
.
writeBlock
(
b1
)
yield
commit
({
time
:
now
+
120
*
4
});
const
p1
=
yield
server
.
PeeringService
.
generateSelfPeer
(
server
.
conf
,
0
)
yield
server2
.
PeeringService
.
generateSelfPeer
(
server2
.
conf
,
0
)
yield
server2
.
writePeer
(
p1
)
server2
.
writeBlock
(
yield
commit
({
time
:
now
+
120
*
2
}))
server2
.
writeBlock
(
yield
commit
({
time
:
now
+
120
*
3
}))
server2
.
writeBlock
(
yield
commit
({
time
:
now
+
120
*
4
}))
}));
}));
after
(()
=>
{
after
(()
=>
{
...
@@ -72,8 +103,11 @@ describe("HTTP API", function() {
...
@@ -72,8 +103,11 @@ describe("HTTP API", function() {
function
makeBlockAndPost
(
theServer
)
{
function
makeBlockAndPost
(
theServer
)
{
return
function
(
options
)
{
return
function
(
options
)
{
return
require
(
'
../../app/modules/prover
'
).
ProverDependency
.
duniter
.
methods
.
generateAndProveTheNext
(
theServer
,
null
,
null
,
options
)
return
co
(
function
*
()
{
.
then
(
postBlock
(
theServer
));
const
block
=
yield
require
(
'
../../app/modules/prover
'
).
ProverDependency
.
duniter
.
methods
.
generateAndProveTheNext
(
theServer
,
null
,
null
,
options
)
const
res
=
yield
postBlock
(
theServer
)(
block
)
return
JSON
.
parse
(
res
)
})
};
};
}
}
...
@@ -212,8 +246,7 @@ describe("HTTP API", function() {
...
@@ -212,8 +246,7 @@ describe("HTTP API", function() {
});
});
it
(
'
/block (number 5,6,7) should send a block
'
,
()
=>
co
(
function
*
()
{
it
(
'
/block (number 5,6,7) should send a block
'
,
()
=>
co
(
function
*
()
{
let
completed
=
false
server2
.
writeBlock
(
yield
commit
({
time
:
now
+
120
*
5
}))
yield
commit
({
time
:
now
+
120
*
5
});
const
client
=
new
ws
(
'
ws://127.0.0.1:7777/ws/block
'
);
const
client
=
new
ws
(
'
ws://127.0.0.1:7777/ws/block
'
);
let
resolve5
,
resolve6
,
resolve7
let
resolve5
,
resolve6
,
resolve7
const
p5
=
new
Promise
(
res
=>
resolve5
=
res
)
const
p5
=
new
Promise
(
res
=>
resolve5
=
res
)
...
@@ -225,8 +258,8 @@ describe("HTTP API", function() {
...
@@ -225,8 +258,8 @@ describe("HTTP API", function() {
if
(
block
.
number
===
6
)
resolve6
(
block
)
if
(
block
.
number
===
6
)
resolve6
(
block
)
if
(
block
.
number
===
7
)
resolve7
(
block
)
if
(
block
.
number
===
7
)
resolve7
(
block
)
})
})
yield
commit
({
time
:
now
+
120
*
6
})
;
server2
.
writeBlock
(
yield
commit
({
time
:
now
+
120
*
6
})
)
yield
commit
({
time
:
now
+
120
*
7
})
;
server2
.
writeBlock
(
yield
commit
({
time
:
now
+
120
*
7
})
)
const
b5
=
yield
p5
const
b5
=
yield
p5
should
(
b5
).
have
.
property
(
'
number
'
,
5
);
should
(
b5
).
have
.
property
(
'
number
'
,
5
);
should
(
b5
).
have
.
property
(
'
dividend
'
).
equal
(
100
)
should
(
b5
).
have
.
property
(
'
dividend
'
).
equal
(
100
)
...
@@ -254,6 +287,32 @@ describe("HTTP API", function() {
...
@@ -254,6 +287,32 @@ describe("HTTP API", function() {
client
.
ping
();
client
.
ping
();
});
});
});
});
it
(
'
/peer (number 5,6,7) should send a peer document
'
,
()
=>
co
(
function
*
()
{
const
client
=
new
ws
(
'
ws://127.0.0.1:7778/ws/peer
'
);
let
resolve5
,
resolve6
,
resolve7
const
p5
=
new
Promise
(
res
=>
resolve5
=
res
)
const
p6
=
new
Promise
(
res
=>
resolve6
=
res
)
server
.
getMainEndpoint
=
()
=>
"
BASIC_MERKLED_API localhost 7777
"
const
p1
=
yield
server
.
PeeringService
.
generateSelfPeer
({
currency
:
server
.
conf
.
currency
},
0
)
client
.
on
(
'
message
'
,
function
message
(
data
)
{
const
peer
=
JSON
.
parse
(
data
);
if
(
peer
.
block
.
match
(
/2-/
))
{
server2
.
PeeringService
.
generateSelfPeer
(
server
.
conf
,
0
)
return
resolve5
(
peer
)
}
if
(
peer
.
block
.
match
(
/1-/
)
&&
peer
.
pubkey
===
'
DKpQPUL4ckzXYdnDRvCRKAm1gNvSdmAXnTrJZ7LvM5Qo
'
)
{
return
resolve6
(
peer
)
}
})
yield
server2
.
writeRawPeer
(
PeerDTO
.
fromJSONObject
(
p1
).
getRawSigned
())
const
b5
=
yield
p5
should
(
b5
).
have
.
property
(
'
version
'
,
10
)
const
b6
=
yield
p6
should
(
b6
).
have
.
property
(
'
version
'
,
10
)
}))
});
});
});
});
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment