internal void GetObjectNotPresent() { var storage = new LocalObjectStorage(config, node); var user = new User(); user.ObjectId = KademliaId.RandomId; user.Add(new UserFile { ChunkList = new List<byte[]> { KademliaId.RandomId } }); storage.StoreObject(user, false); Assert.IsNull(storage.GetObject(KademliaId.RandomId)); }
/// <summary> /// Constructor of Session class for a new User /// </summary> /// <param name="username">Username of the user</param> /// <param name="password">Password of the user</param> /// <param name="localObjectStorage">LocalObjectStorage</param> internal Session(string username, string password, LocalObjectStorage localObjectStorage) { LocalObjectStorage = localObjectStorage; rsaKeyPair = Crypto.DeriveRsaKey(Encoding.UTF8.GetBytes(username), Encoding.UTF8.GetBytes(password)); KademliaId id = Crypto.Hash(rsaKeyPair.Public); Username = username; User = localObjectStorage.GetObject(id) as User; if (User == null) { User = new User(rsaKeyPair.Public) {ObjectId = id}; localObjectStorage.StoreObject(User, true); } onUserUpdated = UpdateUser; localObjectStorage.OnUserUpdated += onUserUpdated; }
internal void GetObject() { var storage = new LocalObjectStorage(config, node); var randomId = KademliaId.RandomId; ulong fileId = 123456789; var id = KademliaId.RandomId; var user = new User(); user.ObjectId = id; user.Add(new UserFile { FileId = fileId, ChunkList = new List<byte[]> { randomId } }); storage.StoreObject(user, false); var readUser = storage.GetObject(id) as User; Assert.AreEqual(1, readUser.Files.Count); Assert.AreEqual(0, readUser.DeletedFiles.Count); var userFile = readUser.Files[0]; Assert.AreEqual(1, userFile.ChunkList.Count); Assert.AreEqual(randomId, (KademliaId)userFile.ChunkList[0]); Assert.AreEqual(fileId, userFile.FileId); }
internal void Initialization() { var storage = new LocalObjectStorage(config, node); var user = new User(); user.ObjectId = KademliaId.RandomId; user.Add(new UserFile {ChunkList = new List<byte[]> {KademliaId.RandomId}}); storage.StoreObject(user, false); storage = new LocalObjectStorage(config, node); Assert.AreEqual(1, storage.CurrentObjects.Count); Assert.AreEqual(user.ObjectId, storage.CurrentObjects[0]); }
internal void StoreObject() { var storage = new LocalObjectStorage(config, node); var user = new User(); user.ObjectId = KademliaId.RandomId; storage.StoreObject(user, false); Assert.AreEqual(1, storage.CurrentObjects.Count); storage.StoreObject(user, false); Assert.AreEqual(1, storage.CurrentObjects.Count); user.ObjectId = KademliaId.RandomId; storage.StoreObject(user, false); Assert.AreEqual(2, storage.CurrentObjects.Count); }