@Test
  public void testPut_ValidateDataOnMember_OnlySecondary_Datastore() {
    member1.invoke(() -> {
      cache.set(new CacheFactory(getDistributedSystemProperties()).create());
      FixedPartitionAttributes fpa = createFixedPartition(QUARTER_1, false, 3);
      createPartitionedRegion("Quarter", singletonList(fpa), 3, 40, 12,
          newQuarterPartitionResolver());
    });

    member2.invoke(() -> {
      cache.set(new CacheFactory(getDistributedSystemProperties()).create());
      FixedPartitionAttributes fpa = createFixedPartition(QUARTER_2, false, 3);
      createPartitionedRegion("Quarter", singletonList(fpa), 3, 40, 12,
          newQuarterPartitionResolver());
    });

    member3.invoke(() -> {
      cache.set(new CacheFactory(getDistributedSystemProperties()).create());
      FixedPartitionAttributes fpa = createFixedPartition(QUARTER_3, false, 3);
      createPartitionedRegion("Quarter", singletonList(fpa), 3, 40, 12,
          newQuarterPartitionResolver());
    });

    member4.invoke(() -> {
      cache.set(new CacheFactory(getDistributedSystemProperties()).create());
      FixedPartitionAttributes fpa = createFixedPartition(QUARTER_4, false, 3);
      createPartitionedRegion("Quarter", singletonList(fpa), 3, 40, 12,
          newQuarterPartitionResolver());
    });

    member1.invoke(() -> putThroughDataStore("Quarter"));

    member1.invoke(() -> checkPrimaryBucketsForQuarter(3, 3));
    member2.invoke(() -> checkPrimaryBucketsForQuarter(3, 3));
    member3.invoke(() -> checkPrimaryBucketsForQuarter(3, 3));
    member4.invoke(() -> checkPrimaryBucketsForQuarter(3, 3));

    cache.set(new CacheFactory(getDistributedSystemProperties()).create());
    FixedPartitionAttributes fpa = createFixedPartition(QUARTER_1, true, 3);
    createPartitionedRegion("Quarter", singletonList(fpa), 3, 40, 12,
        newQuarterPartitionResolver());

    Wait.pause(1000);

    member1.invoke(() -> checkPrimaryBucketsForQuarter(3, 0));
    member2.invoke(() -> checkPrimaryBucketsForQuarter(3, 3));
    member3.invoke(() -> checkPrimaryBucketsForQuarter(3, 3));
    member4.invoke(() -> checkPrimaryBucketsForQuarter(3, 3));
    checkPrimaryBucketsForQuarter(3, 3);
  }
This tests validate that if only the secondary partitions are available then put should happen
successfully for these secondary partitions. These secondary partitions should acts as primary.
When the primary partition joins the system then this new member should create the primary
buckets for this partition on itself. And Secondary partitions who were holding primary buckets
status should now act as secondary buckets.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/fixed/FixedPartitioningDUnitTest.java