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); }
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 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])); } }