mirror of
https://github.com/openstf/stf
synced 2025-10-03 17:59:28 +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:
|
||||
var message = wire.GroupMessage.decode(wrapper.message)
|
||||
, groupChannel = message.channel
|
||||
if (wireutil.matchesRequirements(identity, message.requirements)) {
|
||||
if (devutil.matchesRequirements(identity, message.requirements)) {
|
||||
channels.register(groupChannel, message.timeout)
|
||||
log.info('Subscribing to group channel "%s"', groupChannel)
|
||||
sub.subscribe(groupChannel)
|
||||
|
|
|
@ -2,12 +2,44 @@ var util = require('util')
|
|||
|
||||
var split = require('split')
|
||||
var Promise = require('bluebird')
|
||||
var semver = require('semver')
|
||||
var minimatch = require('minimatch')
|
||||
|
||||
var wire = require('../wire')
|
||||
var pathutil = require('./pathutil')
|
||||
|
||||
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) {
|
||||
return {
|
||||
bin: {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
var semver = require('semver')
|
||||
var minimatch = require('minimatch')
|
||||
var uuid = require('node-uuid')
|
||||
|
||||
module.exports = function(wire) {
|
||||
|
@ -24,35 +22,6 @@ module.exports = function(wire) {
|
|||
, emulator: 'VIRTUAL'
|
||||
}[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) {
|
||||
return new wire.Envelope(type, message.encode()).encodeNB()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue