From: Date: April 25 2008 9:43pm Subject: Connector/NET commit: r1261 - in branches/5.1: . MySql.Web/Providers/Source MySql.Web/Tests List-Archive: http://lists.mysql.com/commits/46047 X-Bug: 36157 Message-Id: <200804251943.m3PJhBMJ016507@bk-internal.mysql.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Modified: branches/5.1/CHANGES branches/5.1/MySql.Web/Providers/Source/MembershipProvider.cs branches/5.1/MySql.Web/Tests/UserManagement.cs Log: - Fixed a problem with MembershipUser.GetNumberOfUsersOnline. It actually works now :) (bug #36157) Modified: branches/5.1/CHANGES =================================================================== --- branches/5.1/CHANGES 2008-04-25 19:29:00 UTC (rev 1260) +++ branches/5.1/CHANGES 2008-04-25 19:43:11 UTC (rev 1261) @@ -14,6 +14,8 @@ once it saw a null value in a previous row (bug #36313) - Fixed problem with MembershipUser.GetPassword where attempting to retrieve a password on a user where password Q&A is not required would throw an exception (bug #36159) + - Fixed a problem with MembershipUser.GetNumberOfUsersOnline. + It actually works now :) (bug #36157) Version 5.1.5 - - Fixed problem with membership provider where FindUserByEmail would fail trying to add Modified: branches/5.1/MySql.Web/Providers/Source/MembershipProvider.cs =================================================================== --- branches/5.1/MySql.Web/Providers/Source/MembershipProvider.cs 2008-04-25 19:29:00 UTC (rev 1260) +++ branches/5.1/MySql.Web/Providers/Source/MembershipProvider.cs 2008-04-25 19:43:11 UTC (rev 1261) @@ -742,13 +742,11 @@ using (MySqlConnection conn = new MySqlConnection(connectionString)) { - MySqlCommand cmd = - new MySqlCommand( - @"SELECT Count(*) FROM mysql_Membership - WHERE LastActivityDate > ?LastActivityUpdate AND - ApplicationName = ?ApplicationName", - conn); - cmd.Parameters.Add("?CompareDate", MySqlDbType.Datetime).Value = compareTime; + MySqlCommand cmd = new MySqlCommand( + @"SELECT Count(*) FROM mysql_Membership + WHERE LastActivityDate > ?LastActivityDate AND + ApplicationName = ?ApplicationName", conn); + cmd.Parameters.Add("?LastActivityDate", MySqlDbType.DateTime).Value = compareTime; cmd.Parameters.Add("?ApplicationName", MySqlDbType.VarChar, 255).Value = pApplicationName; try { Modified: branches/5.1/MySql.Web/Tests/UserManagement.cs =================================================================== --- branches/5.1/MySql.Web/Tests/UserManagement.cs 2008-04-25 19:29:00 UTC (rev 1260) +++ branches/5.1/MySql.Web/Tests/UserManagement.cs 2008-04-25 19:43:11 UTC (rev 1261) @@ -197,5 +197,36 @@ } } + + /// + /// Bug #36157 Calling "GetNumberOfUsersOnline" in Membership throw error + /// + [Test] + public void GetNumberOfUsersOnline() + { + provider = new MySQLMembershipProvider(); + NameValueCollection config = new NameValueCollection(); + config.Add("connectionStringName", "LocalMySqlServer"); + config.Add("applicationName", "/"); + config.Add("enablePasswordRetrieval", "true"); + config.Add("passwordFormat", "Clear"); + config.Add("requireQuestionAndAnswer", "false"); + try + { + provider.Initialize(null, config); + MembershipCreateStatus status; + MembershipUser user = provider.CreateUser("foo", "pass", "foo@stripped", + null, null, true, null, out status); + MembershipUser user2 = provider.CreateUser("foo2", "pass2", "foo2@stripped", + null, null, true, null, out status); + provider.ValidateUser("foo", "pass"); + provider.ValidateUser("foo2", "pass2"); + Assert.AreEqual(2, provider.GetNumberOfUsersOnline()); + } + catch (Exception ex) + { + Assert.Fail(ex.Message); + } + } } }