|
26 | 26 | #include "firebase/auth.h"
|
27 | 27 | #include "firebase/internal/platform.h"
|
28 | 28 | #include "firebase/storage.h"
|
| 29 | +#include "firebase/storage/list_result.h" |
29 | 30 | #include "firebase/util.h"
|
30 | 31 | #include "firebase_test_framework.h" // NOLINT
|
31 | 32 |
|
@@ -1622,4 +1623,75 @@ TEST_F(FirebaseStorageTest, TestInvalidatingReferencesWhenDeletingApp) {
|
1622 | 1623 | InitializeAppAndAuth();
|
1623 | 1624 | }
|
1624 | 1625 |
|
| 1626 | +// Test the StorageReference::ListAll() method. |
| 1627 | +// This test currently only verifies that the stubbed method returns an empty result. |
| 1628 | +TEST_F(FirebaseStorageTest, TestListAll) { |
| 1629 | + if (skip_tests_) return; |
| 1630 | + |
| 1631 | + firebase::storage::Storage* storage = storage_; // Use the member variable |
| 1632 | + firebase::storage::StorageReference reference = storage->GetReference(); |
| 1633 | + |
| 1634 | + firebase::Future<firebase::storage::ListResult> future = reference.ListAll(); |
| 1635 | + WaitForCompletion(future, "ListAll"); |
| 1636 | + |
| 1637 | + ASSERT_EQ(future.status(), firebase::kFutureStatusComplete); |
| 1638 | + ASSERT_EQ(future.error(), firebase::storage::kErrorNone); |
| 1639 | + |
| 1640 | + const firebase::storage::ListResult* result = future.result(); |
| 1641 | + ASSERT_NE(result, nullptr); |
| 1642 | + if (result != nullptr) { |
| 1643 | + EXPECT_TRUE(result->items.empty()); |
| 1644 | + EXPECT_TRUE(result->prefixes.empty()); |
| 1645 | + EXPECT_TRUE(result->page_token.empty()); |
| 1646 | + } |
| 1647 | +} |
| 1648 | + |
| 1649 | +// Test the StorageReference::List() method with no page token. |
| 1650 | +// This test currently only verifies that the stubbed method returns an empty result. |
| 1651 | +TEST_F(FirebaseStorageTest, TestListNoPageToken) { |
| 1652 | + if (skip_tests_) return; |
| 1653 | + |
| 1654 | + firebase::storage::Storage* storage = storage_; // Use the member variable |
| 1655 | + firebase::storage::StorageReference reference = storage->GetReference(); |
| 1656 | + |
| 1657 | + firebase::Future<firebase::storage::ListResult> future = reference.List(); |
| 1658 | + WaitForCompletion(future, "List (no page token)"); |
| 1659 | + |
| 1660 | + ASSERT_EQ(future.status(), firebase::kFutureStatusComplete); |
| 1661 | + ASSERT_EQ(future.error(), firebase::storage::kErrorNone); |
| 1662 | + |
| 1663 | + const firebase::storage::ListResult* result = future.result(); |
| 1664 | + ASSERT_NE(result, nullptr); |
| 1665 | + if (result != nullptr) { |
| 1666 | + EXPECT_TRUE(result->items.empty()); |
| 1667 | + EXPECT_TRUE(result->prefixes.empty()); |
| 1668 | + EXPECT_TRUE(result->page_token.empty()); |
| 1669 | + } |
| 1670 | +} |
| 1671 | + |
| 1672 | +// Test the StorageReference::List() method with a page token. |
| 1673 | +// This test currently only verifies that the stubbed method returns an empty result |
| 1674 | +// and that the page token is passed (though not used by the stub). |
| 1675 | +TEST_F(FirebaseStorageTest, TestListWithPageToken) { |
| 1676 | + if (skip_tests_) return; |
| 1677 | + |
| 1678 | + firebase::storage::Storage* storage = storage_; // Use the member variable |
| 1679 | + firebase::storage::StorageReference reference = storage->GetReference(); |
| 1680 | + const char* page_token = "test_page_token"; |
| 1681 | + |
| 1682 | + firebase::Future<firebase::storage::ListResult> future = reference.List(page_token); |
| 1683 | + WaitForCompletion(future, "List (with page token)"); |
| 1684 | + |
| 1685 | + ASSERT_EQ(future.status(), firebase::kFutureStatusComplete); |
| 1686 | + ASSERT_EQ(future.error(), firebase::storage::kErrorNone); |
| 1687 | + |
| 1688 | + const firebase::storage::ListResult* result = future.result(); |
| 1689 | + ASSERT_NE(result, nullptr); |
| 1690 | + if (result != nullptr) { |
| 1691 | + EXPECT_TRUE(result->items.empty()); |
| 1692 | + EXPECT_TRUE(result->prefixes.empty()); |
| 1693 | + EXPECT_TRUE(result->page_token.empty()); |
| 1694 | + } |
| 1695 | +} |
| 1696 | + |
1625 | 1697 | } // namespace firebase_testapp_automated
|
0 commit comments