public void CanAuthorizeAddSensor()
        {
            AzureStorage storage = new AzureStorage();

            Assert.Throws(typeof(System.Security.SecurityException), () =>
                          storage.AddSensor("foo", "bar", null, null));

            //Throws security exception even if correct identity.
            OverlordIdentity.InitializeDeviceIdentity(TestData.device_01_id.UrnToId(), TestData.device_01_token, new string[0]);
            Assert.Throws(typeof(System.Security.SecurityException), () =>
                          storage.AddSensor("foo", "bar", null, null));

            //Doesn't throw security exception when proper permission is present.
            OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddSensor);
            IStorageSensor s = storage.AddSensor(TestData.sensor_01_name, "bar", null, null);

            Assert.NotNull(s);
            Assert.True(s.Name == TestData.sensor_01_name);
        }
Пример #2
0
        public void CanAddSensor()
        {
            AzureStorage storage = new AzureStorage();

            OverlordIdentity.InitializeAnonymousIdentity();
            storage.AuthenticateAnonymousDevice(TestData.device_02_id.UrnToId(),
                                                TestData.device_02_token);
            OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddSensor);
            IStorageSensor sensor = storage.AddSensor(TestData.sensor_01_name, TestData.sensor_01_unit, null, null);

            Assert.NotNull(sensor);
            Assert.Equal(sensor.Name, TestData.sensor_01_name);
            Assert.Equal(sensor.Unit, TestData.sensor_01_unit);
        }
Пример #3
0
        public void CanAddDeviceReading()
        {
            OverlordIdentity.InitializeAnonymousIdentity();
            AzureStorage storage = new AzureStorage();

            storage.AuthenticateAnonymousDevice(TestData.device_01_id.UrnToId(),
                                                TestData.device_01_token);
            OverlordIdentity.AddClaim(Resource.Storage, StorageAction.FindDevice);
            IStorageDevice device = storage.GetCurrentDevice();
            IDictionary <string, object> sensor_values = TestData.GenerateRandomSensorData(10);

            foreach (KeyValuePair <string, object> s in sensor_values)
            {
                OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddSensor);
                storage.AddSensor(s.Key, "CanAddDeviceReading_Test", null, null);
            }
            OverlordIdentity.AddClaim(Resource.Storage, StorageAction.AddDeviceReading);
            storage.AddDeviceReading(DateTime.Now, sensor_values);
        }