mirror of
https://github.com/openstf/stf
synced 2025-10-04 02:09:32 +02:00
Move matchesRequirements to devutil.
This commit is contained in:
parent
1616840818
commit
cadc7a17d0
3 changed files with 33 additions and 32 deletions
|
@ -288,7 +288,7 @@ module.exports = function(options) {
|
||||||
case wire.MessageType.GROUP:
|
case wire.MessageType.GROUP:
|
||||||
var message = wire.GroupMessage.decode(wrapper.message)
|
var message = wire.GroupMessage.decode(wrapper.message)
|
||||||
, groupChannel = message.channel
|
, groupChannel = message.channel
|
||||||
if (wireutil.matchesRequirements(identity, message.requirements)) {
|
if (devutil.matchesRequirements(identity, message.requirements)) {
|
||||||
channels.register(groupChannel, message.timeout)
|
channels.register(groupChannel, message.timeout)
|
||||||
log.info('Subscribing to group channel "%s"', groupChannel)
|
log.info('Subscribing to group channel "%s"', groupChannel)
|
||||||
sub.subscribe(groupChannel)
|
sub.subscribe(groupChannel)
|
||||||
|
|
|
@ -2,12 +2,44 @@ var util = require('util')
|
||||||
|
|
||||||
var split = require('split')
|
var split = require('split')
|
||||||
var Promise = require('bluebird')
|
var Promise = require('bluebird')
|
||||||
|
var semver = require('semver')
|
||||||
|
var minimatch = require('minimatch')
|
||||||
|
|
||||||
var wire = require('../wire')
|
var wire = require('../wire')
|
||||||
var pathutil = require('./pathutil')
|
var pathutil = require('./pathutil')
|
||||||
|
|
||||||
var devutil = module.exports = Object.create(null)
|
var devutil = module.exports = Object.create(null)
|
||||||
|
|
||||||
|
devutil.matchesRequirements = function(capabilities, requirements) {
|
||||||
|
return requirements.every(function(req) {
|
||||||
|
var capability = capabilities[req.name]
|
||||||
|
|
||||||
|
if (!capability) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (req.type) {
|
||||||
|
case wire.RequirementType.SEMVER:
|
||||||
|
if (!semver.satisfies(capability, req.value)) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
break
|
||||||
|
case wire.RequirementType.GLOB:
|
||||||
|
if (!minimatch(capability, req.value)) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
break
|
||||||
|
case wire.RequirementType.EXACT:
|
||||||
|
if (capability !== req.value) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
devutil.vendorFiles = function(identity) {
|
devutil.vendorFiles = function(identity) {
|
||||||
return {
|
return {
|
||||||
bin: {
|
bin: {
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
var semver = require('semver')
|
|
||||||
var minimatch = require('minimatch')
|
|
||||||
var uuid = require('node-uuid')
|
var uuid = require('node-uuid')
|
||||||
|
|
||||||
module.exports = function(wire) {
|
module.exports = function(wire) {
|
||||||
|
@ -24,35 +22,6 @@ module.exports = function(wire) {
|
||||||
, emulator: 'VIRTUAL'
|
, emulator: 'VIRTUAL'
|
||||||
}[type]]
|
}[type]]
|
||||||
}
|
}
|
||||||
, matchesRequirements: function(capabilities, requirements) {
|
|
||||||
return requirements.every(function(req) {
|
|
||||||
var capability = capabilities[req.name]
|
|
||||||
|
|
||||||
if (!capability) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (req.type) {
|
|
||||||
case wire.RequirementType.SEMVER:
|
|
||||||
if (!semver.satisfies(capability, req.value)) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
break
|
|
||||||
case wire.RequirementType.GLOB:
|
|
||||||
if (!minimatch(capability, req.value)) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
break
|
|
||||||
case wire.RequirementType.EXACT:
|
|
||||||
if (capability !== req.value) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
break
|
|
||||||
default:
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
, envelope: function(type, message) {
|
, envelope: function(type, message) {
|
||||||
return new wire.Envelope(type, message.encode()).encodeNB()
|
return new wire.Envelope(type, message.encode()).encodeNB()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue