aboutsummaryrefslogtreecommitdiffstats
path: root/lang/js/src
diff options
context:
space:
mode:
authorMaximilian Krambach <[email protected]>2018-05-04 10:56:59 +0000
committerMaximilian Krambach <[email protected]>2018-05-04 10:56:59 +0000
commitcf075846fb48c8d71937100d2c45069d37d54a38 (patch)
tree01b25208634229a48d2ec490324d11e7b6af534d /lang/js/src
parentjs: Added browser testing for unit tests (diff)
downloadgpgme-cf075846fb48c8d71937100d2c45069d37d54a38.tar.gz
gpgme-cf075846fb48c8d71937100d2c45069d37d54a38.zip
js: fixing errors found by testing
-- * Key.js: Error code for wrong parameter in createKey should be "PARAM_WRONG" * Helpers.js: The property openpgpjs-like Objects were checked for in toKeyIdArray was not defined. * src/permittedOperations.js: updated more expectations and assumptions for the native API
Diffstat (limited to '')
-rw-r--r--lang/js/src/Helpers.js2
-rw-r--r--lang/js/src/Key.js4
-rw-r--r--lang/js/src/permittedOperations.js81
3 files changed, 65 insertions, 22 deletions
diff --git a/lang/js/src/Helpers.js b/lang/js/src/Helpers.js
index ea056fff..fd0e7200 100644
--- a/lang/js/src/Helpers.js
+++ b/lang/js/src/Helpers.js
@@ -48,7 +48,7 @@ export function toKeyIdArray(input){
if (input[i] instanceof GPGME_Key){
fpr = input[i].fingerprint;
} else if (input[i].hasOwnProperty('primaryKey') &&
- input[i].primaryKey.hasOwnProperty(getFingerprint)){
+ input[i].primaryKey.hasOwnProperty('getFingerprint')){
fpr = input[i].primaryKey.getFingerprint();
}
if (isFingerprint(fpr) === true){
diff --git a/lang/js/src/Key.js b/lang/js/src/Key.js
index 6d3cf17d..075a190e 100644
--- a/lang/js/src/Key.js
+++ b/lang/js/src/Key.js
@@ -35,13 +35,15 @@ import { Connection } from './Connection';
export function createKey(fingerprint, parent){
if (!isFingerprint(fingerprint)){
- return gpgme_error('KEY_INVALID');
+ return gpgme_error('PARAM_WRONG');
}
if ( parent instanceof Connection){
return new GPGME_Key(fingerprint, parent);
} else if ( parent.hasOwnProperty('connection') &&
parent.connection instanceof Connection){
return new GPGME_Key(fingerprint, parent.connection);
+ } else {
+ return gpgme_error('PARAM_WRONG');
}
}
diff --git a/lang/js/src/permittedOperations.js b/lang/js/src/permittedOperations.js
index 274e037e..59597aaf 100644
--- a/lang/js/src/permittedOperations.js
+++ b/lang/js/src/permittedOperations.js
@@ -122,55 +122,96 @@ export const permittedOperations = {
type: ['plaintext'],
data: ['data'],
params: ['base64', 'mime'],
- infos: [] // pending. Info about signatures and validity
- //signature: [{Key Fingerprint, valid boolean}]
+ infos: [] // TODO pending. Info about signatures and validity
+ //{
+ //signatures: [{
+ //Key : <String>Fingerprint,
+ //valid: <Boolean>
+ // }]
}
},
- /**
- keyinfo: { // querying the Key's information.
- required: ['fingerprint'],
- anser: {
+ /** TBD: querying the Key's information (keyinfo)
+ TBD name: {
+ required: {
+ 'fingerprint': {
+ allowed: ['string']
+ },
+ },
+ answer: {
type: ['TBD'],
data: [],
- params: ['hasSecret', 'isRevoked', 'isExpired', 'armored',
- 'timestamp', 'expires', 'pubkey_algo'],
+ params: ['hasSecret','isRevoked','isExpired','armored',
+ 'timestamp','expires','pubkey_algo'],
infos: ['subkeys', 'userIds']
+ // {'hasSecret': <Boolean>,
+ // 'isRevoked': <Boolean>,
+ // 'isExpired': <Boolean>,
+ // 'armored': <String>, // armored public Key block
+ // 'timestamp': <Number>, //
+ // 'expires': <Number>,
+ // 'pubkey_algo': TBD // TBD (optional?),
+ // 'userIds': Array<String>,
+ // 'subkeys': Array<String> Fingerprints of Subkeys
+ // }
}*/
/**
listkeys:{
- optional: ['with-secret', 'pattern'],
+ required: {};
+ optional: {
+ 'with-secret':{
+ allowed: ['boolean']
+ },{
+ 'pattern': {
+ allowed: ['string']
+ }
+ },
answer: {
- type: ['TBD'], //Array of fingerprints?
- infos: ['TBD'] //the property with infos
+ type: ['TBD'],
+ infos: ['TBD']
+ // keys: Array<String> Fingerprints representing the results
},
*/
/**
importkey: {
- required: ['keyarmored'],
+ required: {
+ 'keyarmored': {
+ allowed: ['string']
+ }
+ },
answer: {
type: ['TBD'],
- infos: [''], // for each key if import was a success, if it was an update
+ infos: ['TBD'],
+ // for each key if import was a success,
+ // and if it was an update of preexisting key
}
},
*/
/**
deletekey: {
- required: ['fingerprint'],
+ pinentry: true,
+ required: {
+ 'fingerprint': {
+ allowed: ['string'],
+ // array_allowed: TBD Allow several Keys to be deleted at once?
+ },
+ optional: {
+ 'TBD' //Flag to delete secret Key ?
+ }
answer: {
type ['TBD'],
- infos: [''] //success:true? in gpgme, an error NO_ERROR is returned
+ infos: ['']
+ // TBD (optional) Some kind of 'ok' if delete was successful.
}
}
*/
/**
- *get armored secret different treatment from keyinfo!
- */
-
- /**
- * TBD key modification requests?
+ *TBD get armored secret different treatment from keyinfo!
+ * TBD key modification?
+ * encryptsign: TBD
+ * verify: TBD
*/
}