github.com/braveheart12/just@v0.8.7/functest/dump_test.go (about) 1 // +build functest 2 3 /* 4 * Copyright 2019 Insolar Technologies 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19 package functest 20 21 import ( 22 "encoding/base64" 23 "encoding/json" 24 "testing" 25 26 "github.com/insolar/insolar/testutils" 27 "github.com/stretchr/testify/require" 28 ) 29 30 func TestDumpAllUsers(t *testing.T) { 31 _ = createMember(t, "Member") 32 33 result, err := signedRequest(&root, "DumpAllUsers") 34 require.NoError(t, err) 35 require.NotNil(t, result) 36 } 37 38 func TestDumpUser(t *testing.T) { 39 member := createMember(t, "Member") 40 41 resp, err := signedRequest(&root, "DumpUserInfo", member.ref) 42 require.NoError(t, err) 43 44 data, err := base64.StdEncoding.DecodeString(resp.(string)) 45 require.NoError(t, err) 46 47 result := struct { 48 Member string 49 Wallet int 50 }{} 51 err = json.Unmarshal(data, &result) 52 require.NoError(t, err) 53 require.Equal(t, "Member", result.Member) 54 require.Equal(t, 1000*1000*1000, result.Wallet) 55 } 56 57 func TestDumpUserWrongRef(t *testing.T) { 58 _, err := signedRequest(&root, "DumpUserInfo", testutils.RandomRef().String()) 59 require.Contains(t, err.Error(), "[ DumpUserInfo ] Problem with making request: [ getUserInfoMap ] Can't get implementation") 60 } 61 62 func TestDumpAllUsersNoRoot(t *testing.T) { 63 member := createMember(t, "Member") 64 65 _, err := signedRequest(member, "DumpAllUsers") 66 require.Contains(t, err.Error(), "[ DumpAllUsers ] Only root can call this method") 67 } 68 69 // todo fix this deadlock 70 func _TestDumpUserYourself(t *testing.T) { 71 member := createMember(t, "Member") 72 73 _, err := signedRequest(member, "DumpUserInfo", member.ref) 74 require.NoError(t, err) 75 } 76 77 func TestDumpUserOther(t *testing.T) { 78 member1 := createMember(t, "Member1") 79 member2 := createMember(t, "Member2") 80 81 _, err := signedRequest(member1, "DumpUserInfo", member2.ref) 82 require.Contains(t, err.Error(), "[ DumpUserInfo ] You can dump only yourself") 83 }