<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Manoj Kumar Kengudelu</title>
    <description>The latest articles on DEV Community by Manoj Kumar Kengudelu (@manojkken).</description>
    <link>https://dev.to/manojkken</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F114954%2Fa4de8d98-9b3e-44a4-a2db-4faf5cbe30e8.jpeg</url>
      <title>DEV Community: Manoj Kumar Kengudelu</title>
      <link>https://dev.to/manojkken</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/manojkken"/>
    <language>en</language>
    <item>
      <title>Generate realistic test data files in one command (CSV, JSON, NDJSON)</title>
      <dc:creator>Manoj Kumar Kengudelu</dc:creator>
      <pubDate>Thu, 22 Oct 2026 06:59:10 +0000</pubDate>
      <link>https://dev.to/manojkken/generate-realistic-test-data-files-in-one-command-csv-json-ndjson-43ea</link>
      <guid>https://dev.to/manojkken/generate-realistic-test-data-files-in-one-command-csv-json-ndjson-43ea</guid>
      <description>&lt;p&gt;Every time I needed a CSV of fake users for an import test or a Postman/Newman data-driven run, I ended up writing the same throwaway Faker script. So I turned it into a CLI: &lt;strong&gt;&lt;a href="https://www.npmjs.com/package/csv-faker-generator" rel="noopener noreferrer"&gt;csv-faker-generator&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  One command, no script
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx csv-faker-generator &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s1"&gt;'id:uuid,name:name,email:email,plan:pick:free|pro|team'&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; 3 &lt;span class="nt"&gt;-o&lt;/span&gt; users.csv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;id,name,email,plan
5fb9220d-9b0f-4d32-a248-6492457c3890,Miss Arlene Wintheiser,Marlee3@gmail.com,free
a4882fcf-e9e1-4305-a64d-5482c1fc30db,Mr. Ben Buckridge,Anibal63@gmail.com,pro
1bc8c786-010a-458e-b36c-3142ecadc2e8,Erik Farrell,Sabrina.Langosh22@yahoo.com,pro
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Columns are &lt;code&gt;header:type&lt;/code&gt;. There are 27 types: names, emails, addresses, IBAN/BIC, IPs, UUIDs, numbers, dates, and more.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new in 2.2
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Reproducible data with &lt;code&gt;--seed&lt;/code&gt;.&lt;/strong&gt; Using the same seed gives you the same file every time, which is useful for snapshot tests and for sharing bug reproductions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx csv-faker-generator &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="nb"&gt;id&lt;/span&gt;:uuid,name:name &lt;span class="nt"&gt;-r&lt;/span&gt; 100 &lt;span class="nt"&gt;--seed&lt;/span&gt; 42 &lt;span class="nt"&gt;-o&lt;/span&gt; fixtures.csv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;code&gt;pick&lt;/code&gt; values from the CLI.&lt;/strong&gt; Pick from your own set of values. Quote the argument so your shell doesn't treat &lt;code&gt;|&lt;/code&gt; as a pipe:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s1"&gt;'status:pick:active|inactive|pending'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;JSON and NDJSON output (2.1).&lt;/strong&gt; The format is inferred from the file extension:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx csv-faker-generator &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="nb"&gt;id&lt;/span&gt;:uuid,amount:number &lt;span class="nt"&gt;-r&lt;/span&gt; 1000 &lt;span class="nt"&gt;-o&lt;/span&gt; orders.ndjson
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Programmatic API
&lt;/h2&gt;

&lt;p&gt;For calculated columns, use it from code. Formulas can reference any other column in the row:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;generateCSV&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;csv-faker-generator&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;generateCSV&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;columns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;header&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;qty&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;number&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;min&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;max&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;header&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;price&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;number&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;min&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;max&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;decimals&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;header&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;total&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;formula&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;formula&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;r&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;qty&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;price&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toFixed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="na"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;output&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;orders.json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;seed&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Built with contributors
&lt;/h2&gt;

&lt;p&gt;Two of the three features in the last two releases came from first-time contributors who picked up &lt;code&gt;good first issue&lt;/code&gt; tickets. There's a fresh batch open now, including date ranges, stdout output for piping, and CLI options for &lt;code&gt;alphanumeric&lt;/code&gt;. If you want an easy first open-source PR, take a look:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/manojkken/csv-faker-generator" rel="noopener noreferrer"&gt;https://github.com/manojkken/csv-faker-generator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A ⭐ helps other people find it. Feedback and feature ideas are welcome in the issues.&lt;/p&gt;

</description>
      <category>testing</category>
      <category>node</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Write data into DynamoDB from json file</title>
      <dc:creator>Manoj Kumar Kengudelu</dc:creator>
      <pubDate>Tue, 07 Nov 2023 13:44:59 +0000</pubDate>
      <link>https://dev.to/manojkken/write-data-into-dynamodb-from-json-file-3hl5</link>
      <guid>https://dev.to/manojkken/write-data-into-dynamodb-from-json-file-3hl5</guid>
      <description>&lt;p&gt;&lt;a href="https://medium.com/p/274ce0499878" rel="noopener noreferrer"&gt;https://medium.com/p/274ce0499878&lt;/a&gt; &lt;/p&gt;

</description>
      <category>aws</category>
      <category>dynamodb</category>
      <category>go</category>
      <category>awssdk</category>
    </item>
    <item>
      <title>Schedule postman collection run in Node.</title>
      <dc:creator>Manoj Kumar Kengudelu</dc:creator>
      <pubDate>Mon, 02 Aug 2021 09:00:39 +0000</pubDate>
      <link>https://dev.to/manojkken/schedule-postman-collection-run-in-node-2l0b</link>
      <guid>https://dev.to/manojkken/schedule-postman-collection-run-in-node-2l0b</guid>
      <description>&lt;p&gt;Postman helps us to write and automate API tests. We can create collections which are group of API requests. Newman is a command-line Collection Runner for Postman. It enables you to run and test a Postman Collection directly from the command line&lt;/p&gt;

&lt;p&gt;Postman provides Monitoring service which is a way to stay up to date on the health and performance of your APIs. Postman monitors are based on collections. Monitors will run through each request in your collection, similar to the collection runner. The free plan of Postman monitor has limitation on API execution per month.&lt;/p&gt;

&lt;p&gt;What if you would like to run your postman collections multiple times a day which is more than the limit Postman monitoring service provides? You can switch to Node.js library node-cron&lt;/p&gt;

&lt;p&gt;Read More about it &lt;a href="https://manojkkengudelu.medium.com/schedule-postman-collection-run-in-node-js-f5995ac78081" rel="noopener noreferrer"&gt;here..&lt;/a&gt;&lt;/p&gt;

</description>
      <category>postman</category>
      <category>node</category>
      <category>newman</category>
      <category>javascript</category>
    </item>
    <item>
      <title>REST API Automation using python unittest</title>
      <dc:creator>Manoj Kumar Kengudelu</dc:creator>
      <pubDate>Thu, 15 Nov 2018 10:02:56 +0000</pubDate>
      <link>https://dev.to/manojkken/rest-api-automation-using-python-unittest-4851</link>
      <guid>https://dev.to/manojkken/rest-api-automation-using-python-unittest-4851</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/manojkken/RESTAPI-UnitTest-Framework" rel="noopener noreferrer"&gt;Automation framework&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This framework can be used to test your REST APIs . The end point used here as an example is: &lt;a href="https://reqres.in/" rel="noopener noreferrer"&gt;reqres&lt;/a&gt; .&lt;/p&gt;

</description>
      <category>python</category>
      <category>testing</category>
      <category>rest</category>
    </item>
  </channel>
</rss>
