def test_read_bad_version(self): msg = {'id': '123', 'trust_seed': 'TS42', 'version': 2} eff = execute_cmd('vlob_read', msg) sequence = [(EVlobRead('123', 'TS42', 2), conste(VlobNotFound('Vlob not found.')))] ret = perform_sequence(sequence, eff) assert ret['status'] == 'vlob_not_found'
def test_group_create_ok(self): eff = execute_cmd('group_create', {'name': 'super adventure club'}) sequence = [ (EGroupCreate('super adventure club'), noop) ] ret = perform_sequence(sequence, eff) assert ret == {'status': 'ok'}
def test_group_read_unknown(self): eff = execute_cmd('group_read', {'name': 'dummy-group'}) sequence = [ (EGroupRead('dummy-group'), conste(GroupNotFound('Group not found.'))) ] ret = perform_sequence(sequence, eff) assert ret['status'] == 'group_not_found'
def test_vlob_create_ok(self, id_and_blob): id, blob = id_and_blob intent = EVlobCreate(id, blob) intent_ret = VlobAtom(id, 'readtrustseed-123', 'writetrustseed-123', blob, 1) payload = {} if id: payload['id'] = id else: intent_ret.id = '123' if blob: payload['blob'] = to_jsonb64(blob) else: intent.blob = b'' intent_ret.blob = b'' eff = execute_cmd('vlob_create', payload) sequence = [ (intent, const(intent_ret)), ] ret = perform_sequence(sequence, eff) assert ret == { 'status': 'ok', 'id': intent_ret.id, 'read_trust_seed': 'readtrustseed-123', 'write_trust_seed': 'writetrustseed-123' }
def test_group_create_already_exist(self): eff = execute_cmd('group_create', {'name': 'super adventure club'}) sequence = [ (EGroupCreate('super adventure club'), conste(GroupAlreadyExist('Group already exist.'))) ] ret = perform_sequence(sequence, eff) assert ret['status'] == 'group_already_exists'
def test_group_add_identities_ok(self): eff = execute_cmd('group_add_identities', {'name': 'super adventure club', 'identities': ['*****@*****.**'], 'admin': True}) sequence = [ (EGroupAddIdentities('super adventure club', {'*****@*****.**'}, True), noop) ] ret = perform_sequence(sequence, eff) assert ret == {'status': 'ok'}
def test_user_vlob_update_bad_version(self): eff = execute_cmd('user_vlob_update', { 'version': 42, 'blob': to_jsonb64(b'Next version.') }) sequence = [(EUserVlobUpdate(version=42, blob=b'Next version.'), conste(UserVlobError('Wrong blob version.')))] ret = perform_sequence(sequence, eff) assert ret['status'] == 'user_vlob_error'
def test_user_vlob_update_ok(self): eff = execute_cmd('user_vlob_update', { 'version': 42, 'blob': to_jsonb64(b'Next version.') }) sequence = [(EUserVlobUpdate(version=42, blob=b'Next version.'), noop)] ret = perform_sequence(sequence, eff) assert ret == { 'status': 'ok', }
def test_pubkey_get_ok(self): eff = execute_cmd('pubkey_get', {'id': '*****@*****.**'}) sequence = [(EPubKeyGet('*****@*****.**', raw=True), const(b"alice's raw key"))] ret = perform_sequence(sequence, eff) assert ret == { 'status': 'ok', 'id': '*****@*****.**', 'key': b"alice's raw key" }
def test_message_new_ok(self): eff = execute_cmd( 'message_new', { 'recipient': '*****@*****.**', 'body': to_jsonb64(b'This is for alice.') }) sequence = [(EMessageNew(recipient='*****@*****.**', body=b'This is for alice.'), noop)] ret = perform_sequence(sequence, eff) assert ret == {'status': 'ok'}
def test_user_vlob_read_ok(self): eff = execute_cmd('user_vlob_read', {}) sequence = [(EUserVlobRead(), const(UserVlobAtom('*****@*****.**', 42, b'content v42')))] ret = perform_sequence(sequence, eff) assert ret == { 'status': 'ok', 'blob': to_jsonb64(b'content v42'), 'version': 42 }
def test_vlob_update_ok(self): blob = to_jsonb64(b'Next version.') eff = execute_cmd('vlob_update', { 'id': '1234', 'trust_seed': 'WTS4242', 'version': 2, 'blob': blob }) sequence = [(EVlobUpdate('1234', 2, 'WTS4242', b'Next version.'), noop)] ret = perform_sequence(sequence, eff) assert ret == {'status': 'ok'}
def test_update_bad_seed(self): msg = { 'id': '123', 'trust_seed': 'dummy_seed', 'version': 2, 'blob': to_jsonb64(b'Next version.') } eff = execute_cmd('vlob_update', msg) sequence = [(EVlobUpdate('123', 2, 'dummy_seed', b'Next version.'), conste(TrustSeedError('Bad trust seed.')))] ret = perform_sequence(sequence, eff) assert ret['status'] == 'trust_seed_error'
def test_update_bad_version(self): msg = { 'id': '123', 'trust_seed': 'WTS42', 'version': 2, 'blob': to_jsonb64(b'Next version.') } eff = execute_cmd('vlob_update', msg) sequence = [(EVlobUpdate('123', 2, 'WTS42', b'Next version.'), conste(VlobNotFound('Vlob not found.')))] ret = perform_sequence(sequence, eff) assert ret['status'] == 'vlob_not_found'
def test_vlob_update_not_found(self): blob = to_jsonb64(b'Next version.') eff = execute_cmd('vlob_update', { 'id': '1234', 'trust_seed': 'WTS4242', 'version': 2, 'blob': blob }) sequence = [(EVlobUpdate('1234', 2, 'WTS4242', b'Next version.'), conste(VlobNotFound('Vlob not found.')))] ret = perform_sequence(sequence, eff) assert ret == {'status': 'vlob_not_found', 'label': 'Vlob not found.'}
def test_vlob_read_ok(self): eff = execute_cmd('vlob_read', {'id': '1234', 'trust_seed': 'TS4242'}) sequence = [ (EVlobRead('1234', 'TS4242'), const(VlobAtom('1234', 'TS4242', 'WTS4242', b'content v42', 42))) ] ret = perform_sequence(sequence, eff) assert ret == { 'status': 'ok', 'id': '1234', 'blob': to_jsonb64(b'content v42'), 'version': 42 }
def test_group_read_ok(self): eff = execute_cmd('group_read', {'name': 'super adventure club'}) sequence = [ (EGroupRead('super adventure club'), const(Group('super adventure club', {'*****@*****.**'}, {'*****@*****.**'}))) ] ret = perform_sequence(sequence, eff) assert ret == { 'status': 'ok', 'name': 'super adventure club', 'admins': ['*****@*****.**'], 'users': ['*****@*****.**'] }
def test_message_get_ok(self): eff = execute_cmd('message_get', {}) sequence = [(EMessageGet(offset=0), const([b'zero', b'one', b'two']))] ret = perform_sequence(sequence, eff) assert ret == { 'status': 'ok', 'messages': [{ 'count': 1, 'body': to_jsonb64(b'zero') }, { 'count': 2, 'body': to_jsonb64(b'one') }, { 'count': 3, 'body': to_jsonb64(b'two') }] }
def test_pubkey_get_not_found(self): eff = execute_cmd('pubkey_get', {'id': '*****@*****.**'}) sequence = [(EPubKeyGet('*****@*****.**', raw=True), conste(PubKeyNotFound()))] ret = perform_sequence(sequence, eff) assert ret['status'] == 'pubkey_not_found'
def test_pubkey_get_bad_msg(self, bad_msg): eff = execute_cmd('pubkey_get', bad_msg) sequence = [] ret = perform_sequence(sequence, eff) assert ret['status'] == 'bad_msg'
def test_message_new_bad_msg(self, bad_msg): eff = execute_cmd('message_new', bad_msg) sequence = [] ret = perform_sequence(sequence, eff) assert ret['status'] == 'bad_msg'
def test_vlob_read_not_found(self): eff = execute_cmd('vlob_read', {'id': '1234', 'trust_seed': 'TS4242'}) sequence = [(EVlobRead('1234', 'TS4242'), conste(VlobNotFound('Vlob not found.')))] ret = perform_sequence(sequence, eff) assert ret == {'status': 'vlob_not_found', 'label': 'Vlob not found.'}
def test_user_vlob_read_bad_version(self): eff = execute_cmd('user_vlob_read', {'version': 42}) sequence = [(EUserVlobRead(version=42), conste(UserVlobError('Wrong blob version.')))] ret = perform_sequence(sequence, eff) assert ret['status'] == 'user_vlob_error'
def test_bad_msg_read(self, bad_msg): eff = execute_cmd('group_read', bad_msg) sequence = [ ] ret = perform_sequence(sequence, eff) assert ret['status'] == 'bad_msg'
def test_group_add_identities_bad_msg(self, bad_msg): eff = execute_cmd('group_add_identities', bad_msg) sequence = [ ] ret = perform_sequence(sequence, eff) assert ret['status'] == 'bad_msg'
def test_vlob_update_bad_msg(self, bad_msg): eff = execute_cmd('vlob_update', bad_msg) sequence = [] ret = perform_sequence(sequence, eff) assert ret['status'] == 'bad_msg'