From d102ae263cf3cc7cc4afae135cafcf09235a061b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=BAlvio=20Abrah=C3=A3o=20de=20Paula?= Date: Mon, 14 Aug 2023 11:07:07 -0700 Subject: [PATCH] Fix mocks to return correct expected results. Reviewed By: lblasa Differential Revision: D48315430 fbshipit-source-id: 3a9210b6c4ce8192ff5489d2616e6a37264309b2 --- .../Mock/MockDatabaseDriver.m | 37 +++++++++++++------ 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/iOS/Plugins/FlipperKitDatabasesPlugin/FlipperKitDatabasesPlugin/Mock/MockDatabaseDriver.m b/iOS/Plugins/FlipperKitDatabasesPlugin/FlipperKitDatabasesPlugin/Mock/MockDatabaseDriver.m index 8a153059f..a13b601e5 100644 --- a/iOS/Plugins/FlipperKitDatabasesPlugin/FlipperKitDatabasesPlugin/Mock/MockDatabaseDriver.m +++ b/iOS/Plugins/FlipperKitDatabasesPlugin/FlipperKitDatabasesPlugin/Mock/MockDatabaseDriver.m @@ -6,6 +6,8 @@ */ #import "MockDatabaseDriver.h" +#include +#include #import "DatabaseExecuteSql.h" #import "DatabaseGetTableData.h" #import "DatabaseGetTableInfo.h" @@ -67,42 +69,55 @@ count:(NSInteger)count { NSMutableArray* columns = [NSMutableArray array]; NSMutableArray* values = [NSMutableArray array]; - for (int i = 0; i < 100; i++) { + NSUInteger numColums = 10; + NSUInteger numRows = 100; + for (int i = 0; i < numColums; i++) { NSString* columnName = [NSString stringWithFormat:@"column%d", i + 1]; [columns addObject:columnName]; - NSArray* valueRow = @[ @"value1", @"value2", @"value3" ]; + } + + for (int i = 0; i < numRows; i++) { + NSMutableArray* valueRow = [NSMutableArray array]; + for (int j = 0; j < numColums; j++) { + [valueRow addObject:[NSString stringWithFormat:@"value%d", j]]; + } [values addObject:valueRow]; } return [[DatabaseGetTableDataResponse alloc] initWithColumns:[columns copy] values:[values copy] start:0 - count:100 - total:100]; + count:numRows + total:numRows]; } - (DatabaseExecuteSqlResponse*)executeSQL:(NSString*)sql { // Generate a mock response with a random type NSString* type; - NSArray* columns = @[ @"id", @"name" ]; + NSArray* columns = @[ @"id", @"name", @"age" ]; NSMutableArray* values = [NSMutableArray array]; - for (int i = 0; i < 100; i++) { - [values addObject:@[ @(i), [NSString stringWithFormat:@"Name %d", i] ]]; + NSUInteger numRows = 100; + for (int i = 0; i < numRows; i++) { + NSUInteger randomAge = arc4random_uniform(40); + [values addObject:@[ + @(i), + [NSString stringWithFormat:@"Name %d", i], + @(randomAge) + ]]; } // Randomly select a type - NSArray* types = @[ @"SELECT", @"INSERT", @"UPDATE", @"DELETE" ]; + NSArray* types = @[ @"select", @"insert", @"update_delete" ]; int index = arc4random_uniform((u_int32_t)types.count); type = types[index]; // Set affectedCount and insertedId based on type NSInteger affectedCount = 0; NSNumber* insertedId = nil; - if ([type isEqualToString:@"INSERT"]) { + if ([type isEqualToString:@"insert"]) { affectedCount = 1; insertedId = @(15); - } else if ( - [type isEqualToString:@"UPDATE"] || [type isEqualToString:@"DELETE"]) { + } else if ([type isEqualToString:@"update_delete"]) { affectedCount = values.count; }