private IList <QueryPhrase> BuildCommentsCriteria(WorkspaceUser user) { return(new List <QueryPhrase> { new CrossQueryPhrase("mention_user", new LogicalQueryPhrase("id", user.Id)) }); }
public bool CheckIfUserIsAdminOrOwner(string UserId, int workspaceId) { try { WorkspaceUser workspaceUser = _context.WorkspaceUsers .FirstOrDefault(wu => wu.UserId == UserId && wu.WorkspaceId == workspaceId); if (workspaceUser == null) { return(false); } if (workspaceUser.RoleId == (int)WorkspaceRoleEnum.Admin || workspaceUser.RoleId == (int)WorkspaceRoleEnum.Owner) { return(true); } return(false); } catch (Exception ex) { Console.WriteLine(ex.ToString()); return(false); } }
public void AddPowerBIWorkspaceUserIndividualScope_IdParameterSet() { // Arrange var workspaceId = Guid.NewGuid(); var user = new WorkspaceUser { UserPrincipalName = "*****@*****.**", AccessRight = WorkspaceUserAccessRight.Member.ToString() }; var expectedResponse = new object(); var client = new Mock <IPowerBIApiClient>(); client.Setup(x => x.Workspaces .AddWorkspaceUser(workspaceId, It.Is <WorkspaceUser>(u => u.UserPrincipalName == user.UserPrincipalName && u.AccessRight == user.AccessRight))) .Returns(expectedResponse); var initFactory = new TestPowerBICmdletInitFactory(client.Object); var cmdlet = new AddPowerBIWorkspaceUser(initFactory) { Scope = PowerBIUserScope.Individual, Id = workspaceId, UserPrincipalName = user.UserPrincipalName, AccessRight = WorkspaceUserAccessRight.Member, ParameterSet = "UserEmailWithId", }; // Act cmdlet.InvokePowerBICmdlet(); // Assert TestUtilities.AssertExpectedUnitTestResults(expectedResponse, client, initFactory); }
/// <summary> /// associates a newly-created user with the built in "default" workspace so that /// we can demo tenant-specific features without additional registration steps /// </summary> private async Task CreateDefaultWorkspaceUserAsync(IdentityUser user) { const string defaultWsName = "default"; using (var cn = new SqlConnection(_connectionString)) { var ws = await cn.GetWhereAsync <Workspace>(new { name = defaultWsName }); var userId = await cn.QuerySingleAsync <int>("SELECT [UserId] FROM [dbo].[AspNetUsers] WHERE [UserName]=@userName", new { user.UserName }); // all new users will be enabled in the "default" workspace var wsUser = new WorkspaceUser() { WorkspaceId = ws.Id, UserId = userId, Status = UserStatus.Enabled, CreatedBy = "system", DateCreated = DateTime.UtcNow }; await cn.SaveAsync(wsUser); // and we need to update the user row with the correct workspace Id await new SqlServerCmd("dbo.AspNetUsers", "UserId") { ["WorkspaceId"] = ws.Id }.UpdateAsync(cn, userId); } }
public override void ExecuteCmdlet() { var workspaceId = (this.ParameterSet.Equals(UserEmailWithIdParameterSetName) || this.ParameterSet.Equals(PrincipalTypeWithIdParameterSetName)) ? this.Id : this.Workspace.Id; bool usingPrincipalType = this.ParameterSet.Equals(PrincipalTypeWithIdParameterSetName) || this.ParameterSet.Equals(PrincipalTypeWithWorkspaceParameterSetName); WorkspaceUser userAccessRight; if (usingPrincipalType) { userAccessRight = new WorkspaceUser { AccessRight = this.AccessRight.ToString(), Identifier = this.Identifier, PrincipalType = this.PrincipalType }; } else { userAccessRight = new WorkspaceUser { AccessRight = this.AccessRight.ToString(), UserPrincipalName = this.UserPrincipalName }; } using (var client = this.CreateClient()) { var result = this.Scope.Equals(PowerBIUserScope.Individual) ? client.Workspaces.AddWorkspaceUser(workspaceId, userAccessRight) : client.Workspaces.AddWorkspaceUserAsAdmin(workspaceId, userAccessRight); this.Logger.WriteObject(result, true); } }
public void AddPowerBIWorkspaceUser_PrincipalTypeGroup_WithId() { // Arrange var workspaceId = Guid.NewGuid(); var groupId = Guid.NewGuid(); var user = new WorkspaceUser { Identifier = groupId.ToString(), AccessRight = WorkspaceUserAccessRight.Viewer.ToString(), PrincipalType = WorkspaceUserPrincipalType.Group }; var expectedResponse = new object(); var client = new Mock <IPowerBIApiClient>(); client.Setup(x => x.Workspaces .AddWorkspaceUser(workspaceId, It.Is <WorkspaceUser>(u => u.Identifier == user.Identifier && u.AccessRight == user.AccessRight && u.PrincipalType == user.PrincipalType))) .Returns(expectedResponse); var initFactory = new TestPowerBICmdletInitFactory(client.Object); var cmdlet = new AddPowerBIWorkspaceUser(initFactory) { Id = workspaceId, Identifier = user.Identifier, AccessRight = WorkspaceUserAccessRight.Viewer, PrincipalType = WorkspaceUserPrincipalType.Group, ParameterSet = "PrincipalTypeWithId", }; // Act cmdlet.InvokePowerBICmdlet(); // Assert TestUtilities.AssertExpectedUnitTestResults(expectedResponse, client, initFactory); }
public async Task <WorkspaceUser> GetCurrentUser() { if (currentUser == null) { currentUser = await GetWorkspaceUser(); } return(currentUser); }
private IList <QueryPhrase> BuildUserItemCriteria(WorkspaceUser user) { List <QueryPhrase> queries = new List <QueryPhrase> { new CrossQueryPhrase("user", new LogicalQueryPhrase("id", user.Id)), }; return(queries); }
public static void AssemblyInitialize(TestContext context) { // Check if .runsettings is configured properly EnsurePropertiesSet(context.Properties, "ignoreServerCertificateValidation", "webAppUrl", "userName", "password", "sharedSpaceId", "workspaceId"); var ignoreServerCertificateValidation = context.Properties["ignoreServerCertificateValidation"].ToString(); if (ignoreServerCertificateValidation != null && ignoreServerCertificateValidation.ToLower().Equals("true")) { NetworkSettings.IgnoreServerCertificateValidation(); } NetworkSettings.EnableAllSecurityProtocols(); OctaneConfiguration.Url = context.Properties["webAppUrl"].ToString(); OctaneConfiguration.Username = context.Properties["userName"].ToString(); OctaneConfiguration.Password = context.Properties["password"].ToString(); var connectionInfo = new UserPassConnectionInfo(OctaneConfiguration.Username, OctaneConfiguration.Password); RestConnector.Connect(OctaneConfiguration.Url, connectionInfo); var sharedSpaceId = int.Parse(context.Properties["sharedSpaceId"].ToString()); var workspaceId = int.Parse(context.Properties["workspaceId"].ToString()); WorkspaceContext = new WorkspaceContext(sharedSpaceId, workspaceId); OctaneConfiguration.WorkSpaceId = WorkspaceContext.WorkspaceId; var sharedSpaceContext = new SharedSpaceContext(sharedSpaceId); OctaneConfiguration.SharedSpaceId = sharedSpaceContext.SharedSpaceId; OctaneConfiguration.SsoLogin = bool.Parse(context.Properties["ssoLogin"].ToString()); OctaneConfiguration.CredentialLogin = bool.Parse(context.Properties["credentialLogin"].ToString()); User = GetWorkspaceUser(); CurrentRelease = ReleaseUtilities.CreateRelease(); // create the octaneservices object to be used by the tests OctaneServices.Create(OctaneConfiguration.Url, OctaneConfiguration.SharedSpaceId, OctaneConfiguration.WorkSpaceId); OctaneServices.GetInstance().Connect(); }
public void GetWorkspacesAllOrphanedWithGroup() { // Arrange var user1 = new WorkspaceUser { UserPrincipalName = "*****@*****.**", AccessRight = WorkspaceUserAccessRight.Member.ToString() }; var user2 = new WorkspaceUser { UserPrincipalName = "*****@*****.**", AccessRight = WorkspaceUserAccessRight.Contributor.ToString() }; var expectedOrphanedWorkspaceOne = new Workspace { Id = Guid.NewGuid(), Name = "TestOrphanedWorkspace", Type = WorkspaceType.Workspace, State = WorkspaceState.Active, Users = new List <WorkspaceUser> { user1, user2 } }; var expectedOrphanedWorkspaceTwo = new Workspace { Id = Guid.NewGuid(), Name = "TestDeletedWorkspace", Type = WorkspaceType.Group, State = WorkspaceState.Active, Users = new List <WorkspaceUser> { user1 } }; var user = new WorkspaceUser { UserPrincipalName = "*****@*****.**", AccessRight = WorkspaceUserAccessRight.Admin.ToString() }; var allWorkspaces = new List <Workspace> { new Workspace { Id = Guid.NewGuid(), Name = "TestWorkspace", Type = WorkspaceType.Workspace, State = WorkspaceState.Active, Users = new List <WorkspaceUser> { user } }, expectedOrphanedWorkspaceOne, expectedOrphanedWorkspaceTwo }; var client = new Mock <IPowerBIApiClient>(); client.Setup(x => x.Workspaces.GetWorkspacesAsAdmin("users", null, It.IsAny <int>(), It.IsAny <int>())).Returns(allWorkspaces); var initFactory = new TestPowerBICmdletInitFactory(client.Object); var cmdlet = new GetPowerBIWorkspace(initFactory) { Scope = PowerBIUserScope.Organization, All = true, Orphaned = true }; // Act cmdlet.InvokePowerBICmdlet(); // Assert AssertExpectedUnitTestResults(new List <Workspace> { expectedOrphanedWorkspaceOne }, initFactory); }
public override void ExecuteCmdlet() { var workspaceId = this.ParameterSet.Equals(IdParameterSetName) ? this.Id : this.Workspace.Id; var userAccessRight = new WorkspaceUser { AccessRight = this.AccessRight.ToString(), UserPrincipalName = this.UserPrincipalName }; using (var client = this.CreateClient()) { var result = this.Scope.Equals(PowerBIUserScope.Individual) ? client.Workspaces.AddWorkspaceUser(workspaceId, userAccessRight) : client.Workspaces.AddWorkspaceUserAsAdmin(workspaceId, userAccessRight); this.Logger.WriteObject(result, true); } }
public bool CreateWorkspace(string Name, string userId) { try { Workspace newWorkspace = new Workspace() { Name = Name, CreatedDate = DateTime.Now, OwnerId = userId }; _context.Workspaces.Add(newWorkspace); _context.SaveChanges(); Channel channel = new Channel() { Name = "General", WorkspaceId = newWorkspace.WorkspaceId, ChannelTypeId = (int)ChannelTypeEnum.Public }; _context.Channels.Add(channel); _context.SaveChanges(); WorkspaceUser workspaceUser = new WorkspaceUser() { WorkspaceId = newWorkspace.WorkspaceId, UserId = userId, RoleId = (int)WorkspaceRoleEnum.Owner }; _context.WorkspaceUsers.Add(workspaceUser); _context.SaveChanges(); return(true); } catch (Exception ex) { Console.WriteLine(ex.ToString()); return(false); } }
private async static Task <UserItem> CreateNewUserItem(BaseEntity wrappedBaseEntity) { UserItem newUserItem = new UserItem(); newUserItem.SetLongValue("origin", 1L); // dummy value in order to be able to serialise the useritem object newUserItem.Id = "0"; newUserItem.SetValue("is_new", true); newUserItem.SetValue("reason", null); newUserItem.SetValue("entity_type", wrappedBaseEntity.TypeName); WorkspaceUser workspaceUser = await OctaneServices.GetInstance().GetCurrentUser(); newUserItem.SetValue(UserItem.USER_FIELD, workspaceUser); String followField = "my_follow_items_" + wrappedBaseEntity.TypeName; newUserItem.SetValue(followField, wrappedBaseEntity); return(newUserItem); }
public bool AddMemberToWorkspace(string userId, int workspaceId, int roleId) { try { WorkspaceUser workspaceUser = new WorkspaceUser() { WorkspaceId = workspaceId, UserId = userId, RoleId = roleId }; _context.WorkspaceUsers.Add(workspaceUser); _context.SaveChanges(); return(true); } catch (Exception ex) { Console.WriteLine(ex.ToString()); return(false); } }
public async Task <string> GetWorkspaceUser() { if (octaneUserValue != null && !octaneUserValue.Equals("")) { return(octaneUserValue); } try { var httpWebRequest = (HttpWebRequest)WebRequest.Create(host + "/api/current_user/"); httpWebRequest.Method = RestConnector.METHOD_GET; httpWebRequest.ContentType = RestConnector.CONTENT_TYPE_JSON; PrepareRequest(httpWebRequest); httpWebRequest.Headers.Add("HPECLIENTTYPE", "HPE_CI_CLIENT"); ResponseWrapper responseWrapper = new ResponseWrapper(); using (var httpResponse = await httpWebRequest.GetResponseAsync().ConfigureAwait(RestConnector.AwaitContinueOnCapturedContext)) { using (var reader = new StreamReader(httpResponse.GetResponseStream())) { responseWrapper.Data = reader.ReadToEnd(); } } WorkspaceUser result = jSerialiser.Deserialize <WorkspaceUser>(responseWrapper.Data); octaneUserValue = result.Name; return(result.Name); } catch (Exception) { return(null); } }
/// <summary> /// Add new user to workspace. /// </summary> /// <param name="workspace">Required parameter to add new user to specific workspace.</param> /// <param name="workspaceUser">Required parameter to add new user profile.</param> public static void AddUser(this Workspace workspace, WorkspaceUser workspaceUser) { AddUser(workspace, workspaceUser.Email, workspaceUser.Role); }
/// <summary> /// Add new user to workspace collection. /// </summary> /// <param name="workspaces"></param> /// <param name="workspaceUser"></param> public static void AddUser(this IEnumerable <Workspace> workspaces, WorkspaceUser workspaceUser) { AddUser(workspaces, workspaceUser.Email, workspaceUser.Role); }