public void ServiceRuntimeProducesARoleEnvironmentObject()
        {
            ServiceRuntime serviceRuntime = new ServiceRuntime();

            RoleEnvironment roleEnvironment = serviceRuntime.GetRoleEnvironment(ServiceRuntimeHelper.TestWithServiceRuntimePath);
            Assert.NotNull(roleEnvironment);
        } 
        public void RoleInstanceReturnAnInstanceIdThatMatchesAnAzureInstanceId()
        {
            ServiceRuntime serviceRuntime = new ServiceRuntime();
            RoleEnvironment roleEnvironment = serviceRuntime.GetRoleEnvironment(ServiceRuntimeHelper.TestWithServiceRuntimePath);
            Assert.NotNull(roleEnvironment);

            RoleInstance roleInstance = roleEnvironment.CurrentRoleInstance;
            Assert.NotNull(roleInstance);

            string expectedId = string.Format(
                                    CultureInfo.InvariantCulture,
                                    TestRoleInstance.IdFormat,
                                    ServiceRuntimeHelper.RoleName,
                                    ServiceRuntimeHelper.RoleInstanceOrdinal);
            Assert.Equal(expectedId, roleInstance.Id);

            ServiceRuntimeHelper.RoleName = "MyTestRole_" + Guid.NewGuid().ToString("N");
            ServiceRuntimeHelper.RoleInstanceOrdinal = new Random().Next(0, 10);

            roleInstance = roleEnvironment.CurrentRoleInstance;
            Assert.NotNull(roleInstance);

            expectedId = string.Format(
                                    CultureInfo.InvariantCulture,
                                    TestRoleInstance.IdFormat,
                                    ServiceRuntimeHelper.RoleName,
                                    ServiceRuntimeHelper.RoleInstanceOrdinal);
            Assert.Equal(expectedId, roleInstance.Id);
        }
 public void RoleEnvironmentIsAvailableReturnsFalseIfServiceRuntimeDoesntExit()
 {
     ServiceRuntime serviceRuntime = new ServiceRuntime();
     RoleEnvironment roleEnvironment = serviceRuntime.GetRoleEnvironment(ServiceRuntimeHelper.TestWithServiceRuntimePath);
     roleEnvironment.TargetType = null;
     Assert.NotNull(roleEnvironment);
     Assert.False(roleEnvironment.IsAvailable);
 }
        public void RoleEnvironmentReturnsTheCurrentRoleInstanceWhichIsNotNull()
        {
            ServiceRuntime serviceRuntime = new ServiceRuntime();
            RoleEnvironment roleEnvironment = serviceRuntime.GetRoleEnvironment(ServiceRuntimeHelper.TestWithServiceRuntimePath);
            Assert.NotNull(roleEnvironment);

            RoleInstance roleInstance = roleEnvironment.CurrentRoleInstance;
            Assert.NotNull(roleInstance);
        }
        public void RoleEnvironmentReturnsCorrectDeploymentId()
        {
            ServiceRuntime serviceRuntime = new ServiceRuntime();
            RoleEnvironment roleEnvironment = serviceRuntime.GetRoleEnvironment(ServiceRuntimeHelper.TestWithServiceRuntimePath);
            Assert.NotNull(roleEnvironment);

            Assert.Equal(ServiceRuntimeHelper.DeploymentId, roleEnvironment.DeploymentId);

            ServiceRuntimeHelper.DeploymentId = Guid.NewGuid().ToString("N");

            Assert.Equal(ServiceRuntimeHelper.DeploymentId, roleEnvironment.DeploymentId);
        }
        public void RoleEnvironmentReturnsCorrectAvailabilityState()
        {
            ServiceRuntime serviceRuntime = new ServiceRuntime();
            RoleEnvironment roleEnvironment = serviceRuntime.GetRoleEnvironment(ServiceRuntimeHelper.TestWithServiceRuntimePath);
            Assert.NotNull(roleEnvironment);

            Assert.Equal(ServiceRuntimeHelper.IsAvailable, roleEnvironment.IsAvailable);

            ServiceRuntimeHelper.IsAvailable = !ServiceRuntimeHelper.IsAvailable;

            Assert.Equal(ServiceRuntimeHelper.IsAvailable, roleEnvironment.IsAvailable);
        }
        /// <summary>
        /// Initializes the current reader with respect to its environment.
        /// </summary>
        public void Initialize()
        {
            ServiceRuntime serviceRuntime = new ServiceRuntime();
            RoleEnvironment roleEnvironment = serviceRuntime.GetRoleEnvironment(AzureRoleEnvironmentContextReader.BaseDirectory);

            if (roleEnvironment.IsAvailable == true)
            {
                RoleInstance roleInstance = roleEnvironment.CurrentRoleInstance;
                if (roleInstance != null)
                {
                    this.roleInstanceName = roleEnvironment.CurrentRoleInstance.Id;
                    Role role = roleInstance.Role;
                    if (role != null)
                    {
                        this.roleName = role.Name;
                    }
                }
            }
        }
        public void RoleReturnsCorrectName()
        {
            ServiceRuntime serviceRuntime = new ServiceRuntime();
            RoleEnvironment roleEnvironment = serviceRuntime.GetRoleEnvironment(ServiceRuntimeHelper.TestWithServiceRuntimePath);
            Assert.NotNull(roleEnvironment);

            RoleInstance roleInstance = roleEnvironment.CurrentRoleInstance;
            Assert.NotNull(roleInstance);

            Role role = roleInstance.Role;
            Assert.NotNull(role);

            Assert.Equal(ServiceRuntimeHelper.RoleName, role.Name);

            ServiceRuntimeHelper.RoleName = "MyTestRole_" + Guid.NewGuid().ToString("N");

            roleInstance = roleEnvironment.CurrentRoleInstance;
            Assert.NotNull(roleInstance);

            role = roleInstance.Role;
            Assert.NotNull(role);

            Assert.Equal(ServiceRuntimeHelper.RoleName, role.Name);
        }