/// <summary>
        /// Returns fileshares of a given fileserver
        /// </summary>
        /// <param name="fileServer"></param>
        /// <param name="deviceName"></param>
        /// <returns></returns>
        public static IEnumerable <FileShare> GetFileShares(
            this FileServer fileServer,
            string deviceName)
        {
            var fileShares = fileServer.Client.FileShares.ListByFileServer(
                deviceName.GetDoubleEncoded(),
                fileServer.Name.GetDoubleEncoded(),
                fileServer.ResourceGroupName,
                fileServer.ManagerName);

            if (fileShares != null && !fileShares.Any())
            {
                // Create a FileShare with Tiered data policy
                var fileShareToCreate = new FileShare(
                    fileServer.Client,
                    fileServer.ResourceGroupName,
                    fileServer.ManagerName,
                    TestConstants.DefaultTieredFileShareName);
                fileShareToCreate.Initialize(DataPolicy.Tiered);

                fileShareToCreate.CreateOrUpdate(
                    fileServer.Name,
                    fileServer.Name);
            }

            // Return from the list
            fileShares = fileServer.Client.FileShares.ListByFileServer(
                deviceName.GetDoubleEncoded(),
                fileServer.Name.GetDoubleEncoded(),
                fileServer.ResourceGroupName,
                fileServer.ManagerName);

            if (fileShares != null)
            {
                foreach (var fileShare in fileShares)
                {
                    fileShare.SetBaseResourceValues(
                        fileServer.Client,
                        fileServer.ResourceGroupName,
                        fileServer.ManagerName);
                }
            }

            return(fileShares);
        }
        public void TestCreateOrUpdateFileShare()
        {
            try
            {
                var fileServers = TestUtilities.GetFileServers(
                    this.Client,
                    this.ResourceGroupName,
                    this.ManagerName);

                Assert.True(
                    fileServers != null && fileServers.Any(),
                    $"No fileservers were found in the manger {this.ManagerName}");

                // Select the first fileserver
                var fileServer = fileServers.First();

                // Create a FileShare with Tiered data policy
                var fileShare = new FileShare(
                    this.Client,
                    this.ResourceGroupName,
                    this.ManagerName,
                    "Auto-TestFileShare1");
                fileShare.Initialize(DataPolicy.Tiered);

                var fileShareCreated = fileShare.CreateOrUpdate(
                    fileServer.Name,
                    fileServer.Name);

                // Create a FileShare with Local data policy
                var fileShare2 = new FileShare(
                    this.Client,
                    this.ResourceGroupName,
                    this.ManagerName,
                    "Auto-TestFileShare2");
                fileShare2.Initialize(DataPolicy.Local);

                var fileShareCreated2 = fileShare2.CreateOrUpdate(
                    fileServer.Name,
                    fileServer.Name);

                // Update Description and ShareStatus
                fileShareCreated.Description = "Updated: " + fileShareCreated.Description;
                fileShareCreated.ShareStatus = ShareStatus.Offline;
                fileShareCreated             = fileShareCreated.CreateOrUpdate(
                    fileServer.Name,
                    fileServer.Name);

                // Validate FileShares by Managers
                var fileSharesByFileServer = this.Client.FileShares.ListByFileServer(
                    fileServer.Name,
                    fileServer.Name,
                    this.ResourceGroupName,
                    this.ManagerName);

                var fileSharesByDevice = this.Client.FileShares.ListByDevice(
                    fileServer.Name,
                    this.ResourceGroupName,
                    this.ManagerName);
            }
            catch (Exception e)
            {
                Assert.Null(e);
            }
            #endregion Test methods
        }