public void CanAuthorizeDeleteUser() { OverlordIdentity.InitializeUserIdentity(TestData.user_01_id.UrnToId(), "admin", new string[0]); AzureStorage storage = new AzureStorage(); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.FindUser); IStorageUser user = storage.FindUser("d155074f-4e85-4cb5-a597-8bfecb0dfc04".ToGuid(), "admin"); Assert.Throws(typeof(System.Security.SecurityException), () => storage.DeleteUser(user)); OverlordIdentity.InitializeAdminUserIdentity(TestData.user_01_id.UrnToId(), "admin", new string[0]); Assert.Throws(typeof(System.Security.SecurityException), () => storage.DeleteUser(user)); }
public void CanFindUser() { //InitialiseTestData(); AzureStorage storage = new AzureStorage(); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.FindUser); IStorageUser user = storage.FindUser(TestData.user_02_id.UrnToGuid(), TestData.user_02_token); Assert.NotNull(user); Assert.Equal(user.UserName, TestData.user_02_name); Assert.Equal(user.Token, TestData.user_02_token); }
public void CanAddUser() { OverlordIdentity.InitializeAdminUserIdentity(TestData.user_01_id, TestData.user_01_token, new string[0]); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddUser); AzureStorage storage = new AzureStorage(); IStorageUser user = storage.AddUser("xUnit_CanAddUserTest_Name", "xUnit_CanAddUserTest_Token", null); Assert.NotNull(user.Id); Assert.Equal("xUnit_CanAddUserTest_Name", user.UserName); Assert.Equal("xUnit_CanAddUserTest_Token", user.Token); }
private void InitialiseTestData() { AzureStorage storage = new AzureStorage(); OverlordIdentity.InitializeAdminUserIdentity(TestData.user_01_id, TestData.user_01_token, new string[0]); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddUser); IStorageUser user_01 = storage.AddUser(TestData.user_01_name, TestData.user_01_token, null, TestData.user_01_id); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddUser); IStorageUser user_02 = storage.AddUser(TestData.user_02_name, TestData.user_02_token, null, TestData.user_02_id); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddUser); IStorageUser user_03 = storage.AddUser(TestData.user_03_name, TestData.user_03_token, null, TestData.user_03_id); }
public void CanFindDevice() { //InitialiseTestData(); AzureStorage storage = new AzureStorage(); OverlordIdentity.InitializeUserIdentity(TestData.user_02_id, TestData.user_02_token, new string[0]); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.FindUser); IStorageUser user = storage.FindUser(TestData.user_01_id.UrnToGuid(), TestData.user_01_token); Assert.NotNull(user); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.FindDevice); IStorageDevice device = storage.FindDevice(TestData.device_01_id.UrnToGuid(), TestData.device_01_token); Assert.NotNull(device); }
public void CanAddDeviceReadingParallel() { Dictionary <int, IStorageDevice> devices = new Dictionary <int, IStorageDevice>(); OverlordIdentity.InitializeAnonymousIdentity(); AzureStorage storage = new AzureStorage(); storage.AuthenticateAnonymousUser(TestData.user_02_id.UrnToId(), TestData.user_02_token); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.FindUser); IStorageUser user = storage.GetCurrentUser(); for (int i = 0; i <= 5; i++) { OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddDevice); IStorageDevice device = storage.AddDevice(user, "xUnit_CanAddDevicereadingParallel_Device_" + i.ToString(), "xUnit_CanAddDevicereadingParallel_Device_Token", null, null); devices.Add(i, device); } OverlordIdentity.InitializeAnonymousIdentity(); Parallel.For(0, devices.Count, d => { Log.Partition(); storage.AuthenticateAnonymousDevice(devices[d].Id.ToUrn(), devices[0].Token); IDictionary <string, object> sensor_values = TestData.GenerateRandomSensorData(10); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddDeviceReading); storage.AddDeviceReading(TestData.GenerateRandomTime(null, null, null, null), sensor_values); //Sleep for a random interval Thread.Sleep(TestData.GenerateRandomInteger(0, 1000)); //Add another set of sensor data OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddDeviceReading); storage.AddDeviceReading(TestData.GenerateRandomTime(null, null, null, null), TestData.GenerateRandomSensorData(sensor_values)); //Sleep for a random interval Thread.Sleep(TestData.GenerateRandomInteger(0, 1000)); //Add another set of sensor data OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddDeviceReading); storage.AddDeviceReading(TestData.GenerateRandomTime(null, null, null, null), TestData.GenerateRandomSensorData(sensor_values)); }); }
public void CanAddDevice() { AzureStorage storage = new AzureStorage(); OverlordIdentity.InitializeUserIdentity(TestData.user_02_id, TestData.user_02_token, new string[0]); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.FindUser); IStorageUser user = storage.FindUser(TestData.user_02_id.UrnToGuid(), TestData.user_02_token); Assert.NotNull(user); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddDevice); IStorageDevice device = storage.AddDevice(user, "xUnit_CanAddDeviceTest_Name", "xUnit_CanAddDeviceTest_Token", null); Assert.NotNull(device.Id); Assert.Equal("xUnit_CanAddDeviceTest_Name", device.Name); Assert.Equal("xUnit_CanAddDeviceTest_Token", device.Token); Assert.True(user.Devices.Contains(device.Id)); }
private void InitialiseTestData() { AzureStorage storage = new AzureStorage(); OverlordIdentity.InitializeUserIdentity(TestData.user_02_id, TestData.user_02_token, new string[0]); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.FindUser); IStorageUser user = storage.FindUser(TestData.user_02_id.UrnToGuid(), TestData.user_02_token); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddDevice); IStorageDevice device_01 = storage.AddDevice(user, TestData.device_01_name, TestData.device_01_token, null, TestData.device_01_id); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.FindUser); //user = storage.FindUser(AzureStorageTests.user_02_id.UrnToGuid(), AzureStorageTests.user_02_token); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddDevice); IStorageDevice device_02 = storage.AddDevice(user, TestData.device_02_name, TestData.device_02_token, null, TestData.device_02_id); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.FindUser); //user = storage.FindUser(AzureStorageTests.user_02_id.UrnToGuid(), AzureStorageTests.user_02_token); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddDevice); IStorageDevice device_03 = storage.AddDevice(user, TestData.device_03_name, TestData.device_03_token, null, TestData.device_03_id); }
private void CreateDeviceReadings() { IList <IStorageChannel> channels = CreateSensorChannels(); Dictionary <int, IStorageDevice> devices = new Dictionary <int, IStorageDevice>(); OverlordIdentity.InitializeAnonymousIdentity(); AzureStorage storage = new AzureStorage(); storage.AuthenticateAnonymousUser(TestData.user_02_id.UrnToId(), TestData.user_02_token); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.FindUser); IStorageUser user = storage.GetCurrentUser(); for (int i = 0; i <= 5; i++) { OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddDevice); IStorageDevice device = storage.AddDevice(user, "xUnit_IngestTests_Device_" + i.ToString(), "xUnit_IngestTests_Device_Token", null, null); devices.Add(i, device); } IDictionary <int, IDictionary <string, object> > sensor_values = new Dictionary <int, IDictionary <string, object> >(6); for (int d = 0; d <= 5; d++) { sensor_values[d] = TestData.GenerateRandomSensorData(10); foreach (string s in sensor_values[d].Keys) { IStorageSensor sensor = new IStorageSensor() { DeviceId = devices[d].Id, Name = s, Channels = new List <Guid>() }; List <IStorageAlert> alerts = new List <IStorageAlert>(); foreach (IStorageChannel channel in channels.Where(c => c.SensorType.ToSensorType() == sensor.Name.ToSensorType())) { sensor.Channels.Add(channel.Id); } OverlordIdentity.AddClaim(Resource.Storage, StorageAction.UpdateDevice); devices[d].Sensors.Add(new KeyValuePair <string, IStorageSensor>(s, sensor)); devices[d] = storage.UpdateDevice(devices[d]); } } OverlordIdentity.InitializeAnonymousIdentity(); storage.AuthenticateAnonymousDevice(devices[0].Id.ToUrn(), devices[0].Token); for (int d = 0; d < devices.Count(); d++) { //Log.Partition(); OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddDeviceReading); storage.AddDeviceReading(devices[d], TestData.GenerateRandomTime(null, null, null, null), sensor_values[d]); //Sleep for a random interval Thread.Sleep(TestData.GenerateRandomInteger(0, 1000)); //Add another set of sensor data OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddDeviceReading); storage.AddDeviceReading(devices[d], TestData.GenerateRandomTime(null, null, null, null), TestData.GenerateRandomSensorData(sensor_values[d])); //Sleep for a random interval Thread.Sleep(TestData.GenerateRandomInteger(0, 1000)); //Add another set of sensor data OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddDeviceReading); storage.AddDeviceReading(devices[d], TestData.GenerateRandomTime(null, null, null, null), TestData.GenerateRandomSensorData(sensor_values[d])); } }